aboutsummaryrefslogtreecommitdiffstats
path: root/vm_callinfo.h
diff options
context:
space:
mode:
authorAlan Wu <XrXr@users.noreply.github.com>2020-10-27 18:49:17 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2021-10-20 18:19:26 -0400
commitc378c7a7cb937cd9fe5814f2838b1d6cd1d177b2 (patch)
tree1a809c1a7a7606ac2ec624e7e6083bc5828c832d /vm_callinfo.h
parent0c52371c47d8b65f91ed5d2a7e2c14c96d286f57 (diff)
downloadruby-c378c7a7cb937cd9fe5814f2838b1d6cd1d177b2.tar.gz
MicroJIT: generate less code for CFUNCs
Added UJIT_CHECK_MODE. Set to 1 to double check method dispatch in generated code. It's surprising to me that we need to watch both cc and cme. There might be opportunities to simplify there.
Diffstat (limited to 'vm_callinfo.h')
-rw-r--r--vm_callinfo.h11
1 files changed, 1 insertions, 10 deletions
diff --git a/vm_callinfo.h b/vm_callinfo.h
index d5f4388fa8..11c23e02cc 100644
--- a/vm_callinfo.h
+++ b/vm_callinfo.h
@@ -409,16 +409,7 @@ vm_cc_method_missing_reason_set(const struct rb_callcache *cc, enum method_missi
*(enum method_missing_reason *)&cc->aux_.method_missing_reason = reason;
}
-static inline void
-vm_cc_invalidate(const struct rb_callcache *cc)
-{
- VM_ASSERT(IMEMO_TYPE_P(cc, imemo_callcache));
- VM_ASSERT(cc != vm_cc_empty());
- VM_ASSERT(cc->klass != 0); // should be enable
-
- *(VALUE *)&cc->klass = 0;
- RB_DEBUG_COUNTER_INC(cc_ent_invalidate);
-}
+void rb_vm_cc_invalidate(const struct rb_callcache *cc);
/* calldata */