diff options
Diffstat (limited to 'vm_callinfo.h')
-rw-r--r-- | vm_callinfo.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/vm_callinfo.h b/vm_callinfo.h index 11c23e02cc..d5f4388fa8 100644 --- a/vm_callinfo.h +++ b/vm_callinfo.h @@ -409,7 +409,16 @@ vm_cc_method_missing_reason_set(const struct rb_callcache *cc, enum method_missi *(enum method_missing_reason *)&cc->aux_.method_missing_reason = reason; } -void rb_vm_cc_invalidate(const struct rb_callcache *cc); +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); +} /* calldata */ |