diff options
Diffstat (limited to 'src/lj_snap.c')
-rw-r--r-- | src/lj_snap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index e1791b51..dd70ece1 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -392,8 +392,10 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr) | |||
392 | o->u32.lo = (uint32_t)*sps; | 392 | o->u32.lo = (uint32_t)*sps; |
393 | } else if (irt_isinteger(t)) { | 393 | } else if (irt_isinteger(t)) { |
394 | setintV(o, *sps); | 394 | setintV(o, *sps); |
395 | } else if (!LJ_SOFTFP && irt_isnum(t)) { | 395 | #if !LJ_SOFTFP |
396 | } else if (irt_isnum(t)) { | ||
396 | o->u64 = *(uint64_t *)sps; | 397 | o->u64 = *(uint64_t *)sps; |
398 | #endif | ||
397 | #if LJ_64 | 399 | #if LJ_64 |
398 | } else if (irt_islightud(t)) { | 400 | } else if (irt_islightud(t)) { |
399 | /* 64 bit lightuserdata which may escape already has the tag bits. */ | 401 | /* 64 bit lightuserdata which may escape already has the tag bits. */ |
@@ -411,8 +413,10 @@ const BCIns *lj_snap_restore(jit_State *J, void *exptr) | |||
411 | o->u32.lo = (uint32_t)ex->gpr[r-RID_MIN_GPR]; | 413 | o->u32.lo = (uint32_t)ex->gpr[r-RID_MIN_GPR]; |
412 | } else if (irt_isinteger(t)) { | 414 | } else if (irt_isinteger(t)) { |
413 | setintV(o, (int32_t)ex->gpr[r-RID_MIN_GPR]); | 415 | setintV(o, (int32_t)ex->gpr[r-RID_MIN_GPR]); |
414 | } else if (!LJ_SOFTFP && irt_isnum(t)) { | 416 | #if !LJ_SOFTFP |
417 | } else if (irt_isnum(t)) { | ||
415 | setnumV(o, ex->fpr[r-RID_MIN_FPR]); | 418 | setnumV(o, ex->fpr[r-RID_MIN_FPR]); |
419 | #endif | ||
416 | #if LJ_64 | 420 | #if LJ_64 |
417 | } else if (irt_islightud(t)) { | 421 | } else if (irt_islightud(t)) { |
418 | /* 64 bit lightuserdata which may escape already has the tag bits. */ | 422 | /* 64 bit lightuserdata which may escape already has the tag bits. */ |