mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
move OP_LOADNIL just before OP_SEND to improve performance on some platforms
This commit is contained in:
@@ -481,14 +481,6 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
NEXT;
|
||||
}
|
||||
|
||||
CASE(OP_LOADNIL) {
|
||||
/* A B R(A) := nil */
|
||||
int a = GETARG_A(i);
|
||||
|
||||
SET_NIL_VALUE(regs[a]);
|
||||
NEXT;
|
||||
}
|
||||
|
||||
CASE(OP_LOADSELF) {
|
||||
/* A R(A) := self */
|
||||
regs[GETARG_A(i)] = mrb->stack[0];
|
||||
@@ -680,6 +672,14 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
|
||||
NEXT;
|
||||
}
|
||||
|
||||
CASE(OP_LOADNIL) {
|
||||
/* A B R(A) := nil */
|
||||
int a = GETARG_A(i);
|
||||
|
||||
SET_NIL_VALUE(regs[a]);
|
||||
NEXT;
|
||||
}
|
||||
|
||||
L_SEND:
|
||||
CASE(OP_SEND) {
|
||||
/* A B C R(A) := call(R(A),Sym(B),R(A+1),... ,R(A+C-1)) */
|
||||
|
||||
Reference in New Issue
Block a user