diff options
author | Alan Wu <XrXr@users.noreply.github.com> | 2020-10-27 18:49:17 -0400 |
---|---|---|
committer | Alan Wu <XrXr@users.noreply.github.com> | 2021-10-20 18:19:26 -0400 |
commit | c378c7a7cb937cd9fe5814f2838b1d6cd1d177b2 (patch) | |
tree | 1a809c1a7a7606ac2ec624e7e6083bc5828c832d /vm_callinfo.h | |
parent | 0c52371c47d8b65f91ed5d2a7e2c14c96d286f57 (diff) |
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.h | 11 |
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 */ |