summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.dasc
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.dasc')
-rw-r--r--src/buildvm_x86.dasc12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index 98998d83..b64617f9 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -1390,9 +1390,17 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1390 | 1390 |
1391 |6: 1391 |6:
1392 | cmp RB, LJ_TUDATA; je <1 1392 | cmp RB, LJ_TUDATA; je <1
1393 | cmp RB, LJ_TISNUM; ja >7 1393 |.if X64
1394 | mov RB, LJ_TNUMX 1394 | cmp RB, LJ_TNUMX; ja >8
1395 | cmp RB, LJ_TISNUM; jbe >7
1396 | mov RB, LJ_TLIGHTUD
1397 | jmp >8
1395 |7: 1398 |7:
1399 |.else
1400 | cmp RB, LJ_TISNUM; ja >8
1401 |.endif
1402 | mov RB, LJ_TNUMX
1403 |8:
1396 | not RB 1404 | not RB
1397 | mov TAB:RB, [DISPATCH+RB*4+DISPATCH_GL(gcroot[GCROOT_BASEMT])] 1405 | mov TAB:RB, [DISPATCH+RB*4+DISPATCH_GL(gcroot[GCROOT_BASEMT])]
1398 | jmp <2 1406 | jmp <2