Use the EC parameter in instructions.
The forwarding instructions should use the `ec` parameter passed to vm_exec_core instead of trying to look up the EC via `GET_EC()`. It's cheaper to get the local than to try looking up a global
This commit is contained in:
parent
84f51eb02a
commit
ae7890df33
Notes:
git
2025-03-13 22:21:59 +00:00
@ -869,7 +869,7 @@ sendforward
|
|||||||
struct rb_forwarding_call_data adjusted_cd;
|
struct rb_forwarding_call_data adjusted_cd;
|
||||||
struct rb_callinfo adjusted_ci;
|
struct rb_callinfo adjusted_ci;
|
||||||
|
|
||||||
VALUE bh = vm_caller_setup_fwd_args(GET_EC(), GET_CFP(), cd, blockiseq, 0, &adjusted_cd, &adjusted_ci);
|
VALUE bh = vm_caller_setup_fwd_args(ec, GET_CFP(), cd, blockiseq, 0, &adjusted_cd, &adjusted_ci);
|
||||||
|
|
||||||
val = vm_sendish(ec, GET_CFP(), &adjusted_cd.cd, bh, mexp_search_method);
|
val = vm_sendish(ec, GET_CFP(), &adjusted_cd.cd, bh, mexp_search_method);
|
||||||
JIT_EXEC(ec, val);
|
JIT_EXEC(ec, val);
|
||||||
@ -1081,7 +1081,7 @@ invokesuperforward
|
|||||||
struct rb_forwarding_call_data adjusted_cd;
|
struct rb_forwarding_call_data adjusted_cd;
|
||||||
struct rb_callinfo adjusted_ci;
|
struct rb_callinfo adjusted_ci;
|
||||||
|
|
||||||
VALUE bh = vm_caller_setup_fwd_args(GET_EC(), GET_CFP(), cd, blockiseq, 1, &adjusted_cd, &adjusted_ci);
|
VALUE bh = vm_caller_setup_fwd_args(ec, GET_CFP(), cd, blockiseq, 1, &adjusted_cd, &adjusted_ci);
|
||||||
|
|
||||||
val = vm_sendish(ec, GET_CFP(), &adjusted_cd.cd, bh, mexp_search_super);
|
val = vm_sendish(ec, GET_CFP(), &adjusted_cd.cd, bh, mexp_search_super);
|
||||||
JIT_EXEC(ec, val);
|
JIT_EXEC(ec, val);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user