issue #171 SETLIST is no longer an inline op code in the VM

asmvm
Dibyendu Majumdar 4 years ago
parent f7c09814d0
commit 483569d8db

@ -823,7 +823,10 @@
#endif
/* Use LuaJIT style hashing */
#define RAVI_USE_NEWHASH 1
/* Following cause the first hash lookup to be inlined,
and if value is 2 then the second hash lookup is also inlined. */
#define RAVI_USE_INLINE_SHORTSTR_TGET 1
#define RAVI_USE_LLVM_BRANCH_WEIGHTS 1
/* If following is defined as true then LLVM instructions emitted for arithmetic ops

@ -1917,6 +1917,14 @@ newframe: /* reentry point when frame changes (call/return
vmcase(OP_SETLIST) {
int n = GETARG_B(i);
int c = GETARG_C(i);
#if 1
if (c == 0) {
lua_assert(GET_OPCODE(*pc) == OP_EXTRAARG);
c = GETARG_Ax(*pc++);
}
savepc(L); /* in case of allocation errors */
raviV_op_setlist(L, ci, ra, n, c);
#else
unsigned int last;
Table *h;
if (n == 0)
@ -1978,6 +1986,7 @@ newframe: /* reentry point when frame changes (call/return
}
}
L->top = ci->top; /* correct top (in case of previous open call) */
#endif
vmbreak;
}
vmcase(OP_CLOSURE) {

Loading…
Cancel
Save