From 7e9aca40711ac3a72576bd397481fa1ba037b98c Mon Sep 17 00:00:00 2001 From: ko1 Date: Fri, 27 Oct 2017 19:16:51 +0000 Subject: [PATCH] catch up recent changes for call threaded code VM. Fix compile errors for OPT_CALL_THREADED_CODE (in vm_opts.h). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- insns.def | 2 +- vm_exec.c | 3 ++- vm_exec.h | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/insns.def b/insns.def index 065371fe1d..61b61f6187 100644 --- a/insns.def +++ b/insns.def @@ -998,7 +998,7 @@ leave if (vm_pop_frame(ec, GET_CFP(), GET_EP())) { #if OPT_CALL_THREADED_CODE - th->retval = val; + rb_ec_thread_ptr(ec)->retval = val; return 0; #else return val; diff --git a/vm_exec.c b/vm_exec.c index a452d047b7..ce47ab2cc3 100644 --- a/vm_exec.c +++ b/vm_exec.c @@ -140,9 +140,10 @@ rb_vm_get_insns_address_table(void) } static VALUE -vm_exec_core(rb_execution_cntext_t *ec, VALUE initial) +vm_exec_core(rb_execution_context_t *ec, VALUE initial) { register rb_control_frame_t *reg_cfp = ec->cfp; + rb_thread_t *th = rb_ec_thread_ptr(ec); while (1) { reg_cfp = ((rb_insn_func_t) (*GET_PC()))(ec, reg_cfp); diff --git a/vm_exec.h b/vm_exec.h index 1991172bd8..41e75bc234 100644 --- a/vm_exec.h +++ b/vm_exec.h @@ -60,7 +60,7 @@ error ! #define INSN_ENTRY(insn) \ static rb_control_frame_t * \ - FUNC_FASTCALL(LABEL(insn))(rb_thread_t *th, rb_control_frame_t *reg_cfp) { + FUNC_FASTCALL(LABEL(insn))(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp) { #define END_INSN(insn) return reg_cfp;} @@ -161,7 +161,7 @@ default: \ #if OPT_CALL_THREADED_CODE #define THROW_EXCEPTION(exc) do { \ - th->ec->errinfo = (VALUE)(exc); \ + ec->errinfo = (VALUE)(exc); \ return 0; \ } while (0) #else