diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_snap.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index fd7d806a..0c5e8e90 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -238,7 +238,7 @@ static BCReg snap_usedef(jit_State *J, uint8_t *udf, | |||
238 | if (!(op == BC_ISTC || op == BC_ISFC)) DEF_SLOT(bc_a(ins)); | 238 | if (!(op == BC_ISTC || op == BC_ISFC)) DEF_SLOT(bc_a(ins)); |
239 | break; | 239 | break; |
240 | case BCMbase: | 240 | case BCMbase: |
241 | if (op >= BC_CALLM && op <= BC_VARG) { | 241 | if (op >= BC_CALLM && op <= BC_ITERN) { |
242 | BCReg top = (op == BC_CALLM || op == BC_CALLMT || bc_c(ins) == 0) ? | 242 | BCReg top = (op == BC_CALLM || op == BC_CALLMT || bc_c(ins) == 0) ? |
243 | maxslot : (bc_a(ins) + bc_c(ins)); | 243 | maxslot : (bc_a(ins) + bc_c(ins)); |
244 | s = bc_a(ins) - ((op == BC_ITERC || op == BC_ITERN) ? 3 : 0); | 244 | s = bc_a(ins) - ((op == BC_ITERC || op == BC_ITERN) ? 3 : 0); |
@@ -248,6 +248,8 @@ static BCReg snap_usedef(jit_State *J, uint8_t *udf, | |||
248 | for (s = 0; s < bc_a(ins); s++) DEF_SLOT(s); | 248 | for (s = 0; s < bc_a(ins); s++) DEF_SLOT(s); |
249 | return 0; | 249 | return 0; |
250 | } | 250 | } |
251 | } else if (op == BC_VARG) { | ||
252 | return maxslot; /* NYI: punt. */ | ||
251 | } else if (op == BC_KNIL) { | 253 | } else if (op == BC_KNIL) { |
252 | for (s = bc_a(ins); s <= bc_d(ins); s++) DEF_SLOT(s); | 254 | for (s = bc_a(ins); s <= bc_d(ins); s++) DEF_SLOT(s); |
253 | } else if (op == BC_TSETM) { | 255 | } else if (op == BC_TSETM) { |