From 707c12bf00dafdfd3899b1a6c36435dbbf6c7022 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Fri, 9 Jan 2026 18:46:32 +0100 Subject: DUALNUM: Improve/fix edge cases of unary minus. Thanks to Sergey Kaplun. #1422 #1418 --- src/vm_x86.dasc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/vm_x86.dasc') diff --git a/src/vm_x86.dasc b/src/vm_x86.dasc index d7d82b32..7e3d68a0 100644 --- a/src/vm_x86.dasc +++ b/src/vm_x86.dasc @@ -3856,11 +3856,16 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | checkint RD, >5 | mov RB, [BASE+RD*8] | neg RB + | jz >3 | jo >4 | mov dword [BASE+RA*8+4], LJ_TISNUM + |8: | mov dword [BASE+RA*8], RB |9: | ins_next + |3: + | mov dword [BASE+RA*8+4], 0x80000000 // -0. + | jmp <8 |4: | mov dword [BASE+RA*8+4], 0x41e00000 // 2^31. | mov dword [BASE+RA*8], 0 -- cgit v1.2.3-55-g6feb