diff options
Diffstat (limited to 'src/lj_snap.c')
-rw-r--r-- | src/lj_snap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index c044923a..a3c081e1 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -406,7 +406,10 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr) | |||
406 | if (irt_isinteger(t)) { | 406 | if (irt_isinteger(t)) { |
407 | setintV(o, (int32_t)ex->gpr[r-RID_MIN_GPR]); | 407 | setintV(o, (int32_t)ex->gpr[r-RID_MIN_GPR]); |
408 | } else if (irt_isnum(t)) { | 408 | } else if (irt_isnum(t)) { |
409 | setnumV(o, ex->fpr[r-RID_MIN_FPR]); | 409 | if (RID_NUM_FPR) |
410 | setnumV(o, ex->fpr[r-RID_MIN_FPR]); | ||
411 | else | ||
412 | setnumV(o, *(double *)&ex->gpr[r-RID_MIN_GPR]); | ||
410 | #if LJ_64 | 413 | #if LJ_64 |
411 | } else if (irt_islightud(t)) { | 414 | } else if (irt_islightud(t)) { |
412 | /* 64 bit lightuserdata which may escape already has the tag bits. */ | 415 | /* 64 bit lightuserdata which may escape already has the tag bits. */ |