summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--insns.def2
-rw-r--r--internal.h2
-rw-r--r--vm_insnhelper.c4
3 files changed, 1 insertions, 7 deletions
diff --git a/insns.def b/insns.def
index f365106e2c..e3edc5e29f 100644
--- a/insns.def
+++ b/insns.def
@@ -911,7 +911,7 @@ invokeblock
// attr rb_snum_t sp_inc = sp_inc_of_invokeblock(ci);
{
static struct rb_call_cache cc = {
- 0, 0, NULL, NULL, vm_invokeblock_i,
+ 0, 0, NULL, vm_invokeblock_i,
};
VALUE bh = VM_BLOCK_HANDLER_NONE;
diff --git a/internal.h b/internal.h
index 2346703d68..dee7775d95 100644
--- a/internal.h
+++ b/internal.h
@@ -2330,7 +2330,6 @@ enum method_missing_reason {
MISSING_NONE = 0x40
};
struct rb_callable_method_entry_struct;
-struct rb_method_definition_struct;
struct rb_execution_context_struct;
struct rb_control_frame_struct;
struct rb_calling_info;
@@ -2342,7 +2341,6 @@ struct rb_call_cache {
/* inline cache: values */
const struct rb_callable_method_entry_struct *me;
- const struct rb_method_definition_struct *def;
VALUE (*call)(struct rb_execution_context_struct *ec,
struct rb_control_frame_struct *cfp,
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index 197e100607..545fba2dfe 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -1386,9 +1386,6 @@ calccall(const struct rb_call_info *ci, const struct rb_call_cache *cc, const rb
else if (LIKELY(cc->me != me)) {
return vm_call_general; /* normal cases */
}
- else if (UNLIKELY(cc->def != me->def)) {
- return vm_call_general; /* cc->me was refined elsewhere */
- }
/* "Calling a formerly-public method, which is now privatised, with an
* explicit receiver" is the only situation we have to check here. A
* formerly-private method now publicised is an absolutely safe thing.
@@ -1411,7 +1408,6 @@ rb_vm_search_method_slowpath(const struct rb_call_info *ci, struct rb_call_cache
GET_GLOBAL_METHOD_STATE(),
RCLASS_SERIAL(klass),
me,
- me ? me->def : NULL,
calccall(ci, cc, me),
};
VM_ASSERT(callable_method_entry_p(cc->me));