summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-07 05:01:51 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-11-07 05:01:51 +0000
commitaf8a7df3b66019043907fa066934e81a4ef2072f (patch)
tree36fa1aabc7aab6f75975572a25f04dfba52bddd4 /vm_eval.c
parent001eb22c759b6d6e822937c72e3609497e2ba341 (diff)
move `rb_thread_t::method_missing_reason` to ec.
* vm_core.h (rb_thread_t): move method_missing_reason to rb_execution_context_t. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/vm_eval.c b/vm_eval.c
index b11c01a..7b2415e 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -373,7 +373,7 @@ check_funcall_missing(rb_execution_context_t *ec, VALUE klass, VALUE recv, ID mi
new_args[0] = ID2SYM(mid);
MEMCPY(new_args+1, argv, VALUE, argc);
- rb_ec_thread_ptr(ec)->method_missing_reason = MISSING_NOENTRY;
+ ec->method_missing_reason = MISSING_NOENTRY;
args.th = rb_ec_thread_ptr(ec);
args.recv = recv;
args.me = me;
@@ -630,8 +630,8 @@ NORETURN(static void raise_method_missing(rb_execution_context_t *ec, int argc,
static VALUE
rb_method_missing(int argc, const VALUE *argv, VALUE obj)
{
- rb_thread_t *th = GET_THREAD();
- raise_method_missing(th->ec, argc, argv, obj, th->method_missing_reason);
+ rb_execution_context_t *ec = GET_EC();
+ raise_method_missing(ec, argc, argv, obj, ec->method_missing_reason);
UNREACHABLE;
}
@@ -711,7 +711,7 @@ method_missing(VALUE obj, ID id, int argc, const VALUE *argv, enum method_missin
VALUE block_handler = vm_passed_block_handler(ec);
const rb_callable_method_entry_t *me;
- rb_ec_thread_ptr(ec)->method_missing_reason = call_status;
+ ec->method_missing_reason = call_status;
if (id == idMethodMissing) {
missing:
@@ -905,7 +905,7 @@ send_internal(int argc, const VALUE *argv, VALUE recv, call_type scope)
}
}
id = idMethodMissing;
- rb_ec_thread_ptr(ec)->method_missing_reason = MISSING_NOENTRY;
+ ec->method_missing_reason = MISSING_NOENTRY;
}
else {
argv++; argc--;