diff options
author | Mike Pall <mike> | 2019-08-30 12:16:50 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2019-08-30 12:16:50 +0200 |
commit | 8755e0b74b71b4e26e31caa9fe8e0a3de8364c21 (patch) | |
tree | 4544cb4829a76c08ae5fc40e4162c4abfd5d3c07 /src/lj_snap.c | |
parent | 88d40b00c38611412d0023d7ed55999615deb55b (diff) | |
download | luajit-8755e0b74b71b4e26e31caa9fe8e0a3de8364c21.tar.gz luajit-8755e0b74b71b4e26e31caa9fe8e0a3de8364c21.tar.bz2 luajit-8755e0b74b71b4e26e31caa9fe8e0a3de8364c21.zip |
Fix unsinking of 64 bit constants.
Contributed by Thibault Charbonnier.
Diffstat (limited to 'src/lj_snap.c')
-rw-r--r-- | src/lj_snap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_snap.c b/src/lj_snap.c index ceaf2ca5..75888d80 100644 --- a/src/lj_snap.c +++ b/src/lj_snap.c | |||
@@ -688,7 +688,7 @@ static void snap_restoredata(GCtrace *T, ExitState *ex, | |||
688 | int32_t *src; | 688 | int32_t *src; |
689 | uint64_t tmp; | 689 | uint64_t tmp; |
690 | if (irref_isk(ref)) { | 690 | if (irref_isk(ref)) { |
691 | if (ir->o == IR_KNUM || ir->o == IR_KINT64) { | 691 | if (ir_isk64(ir)) { |
692 | src = (int32_t *)&ir[1]; | 692 | src = (int32_t *)&ir[1]; |
693 | } else if (sz == 8) { | 693 | } else if (sz == 8) { |
694 | tmp = (uint64_t)(uint32_t)ir->i; | 694 | tmp = (uint64_t)(uint32_t)ir->i; |