diff options
Diffstat (limited to 'src/buildvm_x86.dasc')
-rw-r--r-- | src/buildvm_x86.dasc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc index e9ecc2c2..e07ef181 100644 --- a/src/buildvm_x86.dasc +++ b/src/buildvm_x86.dasc | |||
@@ -1509,8 +1509,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1509 | | jmp ->fff_res1 | 1509 | | jmp ->fff_res1 |
1510 | | | 1510 | | |
1511 | |.ffunc_1 pairs | 1511 | |.ffunc_1 pairs |
1512 | | mov CFUNC:RB, [BASE-8] | 1512 | | mov TAB:RB, [BASE] |
1513 | | cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback | 1513 | | cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback |
1514 | | cmp dword TAB:RB->metatable, 0; jne ->fff_fallback | ||
1515 | | mov CFUNC:RB, [BASE-8] | ||
1514 | | mov CFUNC:RD, CFUNC:RB->upvalue[0] | 1516 | | mov CFUNC:RD, CFUNC:RB->upvalue[0] |
1515 | | mov PC, [BASE-4] | 1517 | | mov PC, [BASE-4] |
1516 | | mov dword [BASE-4], LJ_TFUNC | 1518 | | mov dword [BASE-4], LJ_TFUNC |
@@ -1571,8 +1573,10 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse) | |||
1571 | | jmp ->fff_res | 1573 | | jmp ->fff_res |
1572 | | | 1574 | | |
1573 | |.ffunc_1 ipairs | 1575 | |.ffunc_1 ipairs |
1574 | | mov CFUNC:RB, [BASE-8] | 1576 | | mov TAB:RB, [BASE] |
1575 | | cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback | 1577 | | cmp dword [BASE+4], LJ_TTAB; jne ->fff_fallback |
1578 | | cmp dword TAB:RB->metatable, 0; jne ->fff_fallback | ||
1579 | | mov CFUNC:RB, [BASE-8] | ||
1576 | | mov CFUNC:RD, CFUNC:RB->upvalue[0] | 1580 | | mov CFUNC:RD, CFUNC:RB->upvalue[0] |
1577 | | mov PC, [BASE-4] | 1581 | | mov PC, [BASE-4] |
1578 | | mov dword [BASE-4], LJ_TFUNC | 1582 | | mov dword [BASE-4], LJ_TFUNC |