Commit 47ff5a06 authored by Yukihiro Matsumoto's avatar Yukihiro Matsumoto

move OP_LOADNIL just before OP_SEND to improve performance on some platforms

parent 1ff6dfd0
...@@ -481,14 +481,6 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -481,14 +481,6 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
NEXT; NEXT;
} }
CASE(OP_LOADNIL) {
/* A B R(A) := nil */
int a = GETARG_A(i);
SET_NIL_VALUE(regs[a]);
NEXT;
}
CASE(OP_LOADSELF) { CASE(OP_LOADSELF) {
/* A R(A) := self */ /* A R(A) := self */
regs[GETARG_A(i)] = mrb->stack[0]; regs[GETARG_A(i)] = mrb->stack[0];
...@@ -680,6 +672,14 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -680,6 +672,14 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
NEXT; NEXT;
} }
CASE(OP_LOADNIL) {
/* A B R(A) := nil */
int a = GETARG_A(i);
SET_NIL_VALUE(regs[a]);
NEXT;
}
L_SEND: L_SEND:
CASE(OP_SEND) { CASE(OP_SEND) {
/* A B C R(A) := call(R(A),Sym(B),R(A+1),... ,R(A+C-1)) */ /* A B C R(A) := call(R(A),Sym(B),R(A+1),... ,R(A+C-1)) */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment