diff options
author | Mike Pall <mike> | 2011-06-05 23:37:29 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-06-05 23:38:23 +0200 |
commit | a48058a791266fbbda14363f6f6530aff66b0f23 (patch) | |
tree | c67f5d20b06f8d092de82662d8f0fa6f997580d7 | |
parent | a175754ab74e35b9d6b1a81b94019d7a720813c1 (diff) | |
download | luajit-a48058a791266fbbda14363f6f6530aff66b0f23.tar.gz luajit-a48058a791266fbbda14363f6f6530aff66b0f23.tar.bz2 luajit-a48058a791266fbbda14363f6f6530aff66b0f23.zip |
ARM: Add fast assembler implementation of floor/ceil/trunc.
-rw-r--r-- | src/Makefile.dep | 2 | ||||
-rw-r--r-- | src/buildvm_arm.dasc | 73 | ||||
-rw-r--r-- | src/buildvm_arm.h | 1299 | ||||
-rw-r--r-- | src/lib_math.c | 5 | ||||
-rw-r--r-- | src/lj_vm.h | 12 |
5 files changed, 739 insertions, 652 deletions
diff --git a/src/Makefile.dep b/src/Makefile.dep index 8bc891ad..d3dec2be 100644 --- a/src/Makefile.dep +++ b/src/Makefile.dep | |||
@@ -34,7 +34,7 @@ lib_jit.o: lib_jit.c lua.h luaconf.h lauxlib.h lualib.h lj_arch.h \ | |||
34 | lj_jit.h lj_ircall.h lj_iropt.h lj_target.h lj_target_*.h \ | 34 | lj_jit.h lj_ircall.h lj_iropt.h lj_target.h lj_target_*.h \ |
35 | lj_dispatch.h lj_vm.h lj_vmevent.h lj_lib.h luajit.h lj_libdef.h | 35 | lj_dispatch.h lj_vm.h lj_vmevent.h lj_lib.h luajit.h lj_libdef.h |
36 | lib_math.o: lib_math.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \ | 36 | lib_math.o: lib_math.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \ |
37 | lj_def.h lj_arch.h lj_lib.h lj_libdef.h | 37 | lj_def.h lj_arch.h lj_lib.h lj_vm.h lj_libdef.h |
38 | lib_os.o: lib_os.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \ | 38 | lib_os.o: lib_os.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h lj_def.h \ |
39 | lj_arch.h lj_err.h lj_errmsg.h lj_lib.h lj_libdef.h | 39 | lj_arch.h lj_err.h lj_errmsg.h lj_lib.h lj_libdef.h |
40 | lib_package.o: lib_package.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \ | 40 | lib_package.o: lib_package.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \ |
diff --git a/src/buildvm_arm.dasc b/src/buildvm_arm.dasc index 2e87acdd..4d3ba5b7 100644 --- a/src/buildvm_arm.dasc +++ b/src/buildvm_arm.dasc | |||
@@ -1308,10 +1308,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
1308 | | movmi CARG1, #0x80000000 | 1308 | | movmi CARG1, #0x80000000 |
1309 | | bmi <1 | 1309 | | bmi <1 |
1310 | |4: | 1310 | |4: |
1311 | | // NYI: Use internal implementation. | 1311 | | bl ->vm_..func |
1312 | | IOS mov RA, BASE | ||
1313 | | bl extern func | ||
1314 | | IOS mov BASE, RA | ||
1315 | | b ->fff_restv | 1312 | | b ->fff_restv |
1316 | |.endmacro | 1313 | |.endmacro |
1317 | | | 1314 | | |
@@ -2010,23 +2007,76 @@ static void build_subroutines(BuildCtx *ctx) | |||
2010 | |// double lj_vm_floor/ceil/trunc(double x); | 2007 | |// double lj_vm_floor/ceil/trunc(double x); |
2011 | |.macro vm_round, func | 2008 | |.macro vm_round, func |
2012 | |->vm_ .. func: | 2009 | |->vm_ .. func: |
2013 | | // NYI: Use internal implementation. | 2010 | | lsl CARG3, CARG2, #1 |
2014 | | b extern func | 2011 | | adds RB, CARG3, #0x00200000 |
2012 | | bpl >2 // |x| < 1? | ||
2013 | | mvn CARG4, #0x3cc | ||
2014 | | subs RB, CARG4, RB, asr #21 // 2^0: RB = 51, 2^51: RB = 0. | ||
2015 | | bxlo lr // |x| >= 2^52: done. | ||
2016 | | mvn CARG4, #1 | ||
2017 | | bic CARG3, CARG1, CARG4, lsl RB // ztest = lo & ~lomask | ||
2018 | | and CARG1, CARG1, CARG4, lsl RB // lo &= lomask | ||
2019 | | subs RB, RB, #32 | ||
2020 | | bicpl CARG4, CARG2, CARG4, lsl RB // |x| <= 2^20: ztest |= hi & ~himask | ||
2021 | | orrpl CARG3, CARG3, CARG4 | ||
2022 | | mvnpl CARG4, #1 | ||
2023 | | andpl CARG2, CARG2, CARG4, lsl RB // |x| <= 2^20: hi &= himask | ||
2024 | |.if "func" == "floor" | ||
2025 | | tst CARG3, CARG2, asr #31 // iszero = ((ztest & signmask) == 0) | ||
2026 | |.else | ||
2027 | | bics CARG3, CARG3, CARG2, asr #31 // iszero = ((ztest & ~signmask) == 0) | ||
2028 | |.endif | ||
2029 | | bxeq lr // iszero: done. | ||
2030 | | mvn CARG4, #1 | ||
2031 | | cmp RB, #0 | ||
2032 | | lslpl CARG3, CARG4, RB | ||
2033 | | mvnmi CARG3, #0 | ||
2034 | | add RB, RB, #32 | ||
2035 | | subs CARG1, CARG1, CARG4, lsl RB // lo = lo-lomask | ||
2036 | | sbc CARG2, CARG2, CARG3 // hi = hi-himask+carry | ||
2037 | | bx lr | ||
2038 | | | ||
2039 | |2: // |x| < 1: | ||
2040 | | orr CARG3, CARG3, CARG1 // ztest = (2*hi) | lo | ||
2041 | |.if "func" == "floor" | ||
2042 | | tst CARG3, CARG2, asr #31 // iszero = ((ztest & signmask) == 0) | ||
2043 | |.else | ||
2044 | | bics CARG3, CARG3, CARG2, asr #31 // iszero = ((ztest & ~signmask) == 0) | ||
2045 | |.endif | ||
2046 | | mov CARG1, #0 // lo = 0 | ||
2047 | | and CARG2, CARG2, #0x80000000 | ||
2048 | | ldrne CARG4, <9 // hi = sign(x) | (iszero ? 0.0 : 1.0) | ||
2049 | | orrne CARG2, CARG2, CARG4 | ||
2050 | | bx lr | ||
2015 | |.endmacro | 2051 | |.endmacro |
2016 | | | 2052 | | |
2053 | |9: | ||
2054 | | .long 0x3ff00000 // hiword(1.0) | ||
2017 | | vm_round floor | 2055 | | vm_round floor |
2018 | | vm_round ceil | 2056 | | vm_round ceil |
2019 | #if LJ_HASJIT | 2057 | | |
2020 | | vm_round trunc | ||
2021 | #else | ||
2022 | |->vm_trunc: | 2058 | |->vm_trunc: |
2059 | #if LJ_HASJIT | ||
2060 | | lsl CARG3, CARG2, #1 | ||
2061 | | adds RB, CARG3, #0x00200000 | ||
2062 | | andpl CARG2, CARG2, #0x80000000 // |x| < 1? hi = sign(x), lo = 0. | ||
2063 | | movpl CARG1, #0 | ||
2064 | | bxpl lr | ||
2065 | | mvn CARG4, #0x3cc | ||
2066 | | subs RB, CARG4, RB, asr #21 // 2^0: RB = 51, 2^51: RB = 0. | ||
2067 | | bxlo lr // |x| >= 2^52: already done. | ||
2068 | | mvn CARG4, #1 | ||
2069 | | and CARG1, CARG1, CARG4, lsl RB // lo &= lomask | ||
2070 | | subs RB, RB, #32 | ||
2071 | | andpl CARG2, CARG2, CARG4, lsl RB // |x| <= 2^20: hi &= himask | ||
2072 | | bx lr | ||
2023 | #endif | 2073 | #endif |
2024 | | | 2074 | | |
2025 | | // double lj_vm_mod(double dividend, double divisor); | 2075 | | // double lj_vm_mod(double dividend, double divisor); |
2026 | |->vm_mod: | 2076 | |->vm_mod: |
2027 | | push {r0, r1, r2, r3, r4, lr} | 2077 | | push {r0, r1, r2, r3, r4, lr} |
2028 | | bl extern __aeabi_ddiv | 2078 | | bl extern __aeabi_ddiv |
2029 | | bl extern floor // NYI: Use internal implementation of floor. | 2079 | | bl ->vm_floor |
2030 | | ldrd CARG34, [sp, #8] | 2080 | | ldrd CARG34, [sp, #8] |
2031 | | bl extern __aeabi_dmul | 2081 | | bl extern __aeabi_dmul |
2032 | | ldrd CARG34, [sp] | 2082 | | ldrd CARG34, [sp] |
@@ -2586,9 +2636,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
2586 | |5: // FP variant. | 2636 | |5: // FP variant. |
2587 | | ins_arithfallback ins_arithcheck_num | 2637 | | ins_arithfallback ins_arithcheck_num |
2588 | |.if "intins" == "vm_modi" | 2638 | |.if "intins" == "vm_modi" |
2589 | | IOS mov RC, BASE | ||
2590 | | bl fpcall | 2639 | | bl fpcall |
2591 | | IOS mov BASE, RC // NYI: remove once we use internal impl. of floor. | ||
2592 | |.else | 2640 | |.else |
2593 | | bl fpcall | 2641 | | bl fpcall |
2594 | | ins_next1 | 2642 | | ins_next1 |
@@ -3966,7 +4014,6 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
3966 | fprintf(ctx->fp, | 4014 | fprintf(ctx->fp, |
3967 | "\t.align 2\n" | 4015 | "\t.align 2\n" |
3968 | ".LEFDE0:\n\n"); | 4016 | ".LEFDE0:\n\n"); |
3969 | /* NYI: emit ARM.exidx. */ | ||
3970 | break; | 4017 | break; |
3971 | default: | 4018 | default: |
3972 | break; | 4019 | break; |
diff --git a/src/buildvm_arm.h b/src/buildvm_arm.h index 0d106bdb..26c2674a 100644 --- a/src/buildvm_arm.h +++ b/src/buildvm_arm.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #define DASM_SECTION_CODE_OP 0 | 12 | #define DASM_SECTION_CODE_OP 0 |
13 | #define DASM_SECTION_CODE_SUB 1 | 13 | #define DASM_SECTION_CODE_SUB 1 |
14 | #define DASM_MAXSECTION 2 | 14 | #define DASM_MAXSECTION 2 |
15 | static const unsigned int build_actionlist[5615] = { | 15 | static const unsigned int build_actionlist[5675] = { |
16 | 0x00010001, | 16 | 0x00010001, |
17 | 0x00060014, | 17 | 0x00060014, |
18 | 0xe3160000, | 18 | 0xe3160000, |
@@ -1425,16 +1425,11 @@ static const unsigned int build_actionlist[5615] = { | |||
1425 | 0x0005000b, | 1425 | 0x0005000b, |
1426 | 0x0006000e, | 1426 | 0x0006000e, |
1427 | 0x00000000, | 1427 | 0x00000000, |
1428 | 0xe1a0a009, | ||
1429 | 0x00000000, | ||
1430 | 0xeb000000, | 1428 | 0xeb000000, |
1431 | 0x0003000f, | 1429 | 0x00050058, |
1432 | 0x00000000, | ||
1433 | 0xe1a0900a, | ||
1434 | 0x00000000, | ||
1435 | 0xea000000, | 1430 | 0xea000000, |
1436 | 0x00050047, | 1431 | 0x00050047, |
1437 | 0x00060058, | 1432 | 0x00060059, |
1438 | 0xe1c900d0, | 1433 | 0xe1c900d0, |
1439 | 0xe35b0008, | 1434 | 0xe35b0008, |
1440 | 0x3a000000, | 1435 | 0x3a000000, |
@@ -1491,13 +1486,8 @@ static const unsigned int build_actionlist[5615] = { | |||
1491 | 0x4a000000, | 1486 | 0x4a000000, |
1492 | 0x0005000b, | 1487 | 0x0005000b, |
1493 | 0x0006000e, | 1488 | 0x0006000e, |
1494 | 0x00000000, | ||
1495 | 0xe1a0a009, | ||
1496 | 0x00000000, | ||
1497 | 0xeb000000, | 1489 | 0xeb000000, |
1498 | 0x00030010, | 1490 | 0x0005005a, |
1499 | 0x00000000, | ||
1500 | 0xe1a0900a, | ||
1501 | 0x00000000, | 1491 | 0x00000000, |
1502 | 0xea000000, | 1492 | 0xea000000, |
1503 | 0x00050047, | 1493 | 0x00050047, |
@@ -1506,7 +1496,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1506 | 0x00020000, | 1496 | 0x00020000, |
1507 | 0x00000000, | 1497 | 0x00000000, |
1508 | 0x41e00000, | 1498 | 0x41e00000, |
1509 | 0x00060059, | 1499 | 0x0006005b, |
1510 | 0xe1c900d0, | 1500 | 0xe1c900d0, |
1511 | 0xe35b0008, | 1501 | 0xe35b0008, |
1512 | 0x3a000000, | 1502 | 0x3a000000, |
@@ -1525,7 +1515,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1525 | 0x00060047, | 1515 | 0x00060047, |
1526 | 0xe5196004, | 1516 | 0xe5196004, |
1527 | 0xe14900f8, | 1517 | 0xe14900f8, |
1528 | 0x0006005a, | 1518 | 0x0006005c, |
1529 | 0xe3a0b000, | 1519 | 0xe3a0b000, |
1530 | 0x000a0000, | 1520 | 0x000a0000, |
1531 | 0x00060045, | 1521 | 0x00060045, |
@@ -1557,7 +1547,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1557 | 0xe5010004, | 1547 | 0xe5010004, |
1558 | 0xea000000, | 1548 | 0xea000000, |
1559 | 0x0005000f, | 1549 | 0x0005000f, |
1560 | 0x0006005b, | 1550 | 0x0006005d, |
1561 | 0xe1c900d0, | 1551 | 0xe1c900d0, |
1562 | 0xe35b0008, | 1552 | 0xe35b0008, |
1563 | 0x3a000000, | 1553 | 0x3a000000, |
@@ -1571,13 +1561,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1571 | 0xe1a0a009, | 1561 | 0xe1a0a009, |
1572 | 0x00000000, | 1562 | 0x00000000, |
1573 | 0xeb000000, | 1563 | 0xeb000000, |
1574 | 0x00030011, | 1564 | 0x0003000f, |
1575 | 0x00000000, | 1565 | 0x00000000, |
1576 | 0xe1a0900a, | 1566 | 0xe1a0900a, |
1577 | 0x00000000, | 1567 | 0x00000000, |
1578 | 0xea000000, | 1568 | 0xea000000, |
1579 | 0x00050047, | 1569 | 0x00050047, |
1580 | 0x0006005c, | 1570 | 0x0006005e, |
1581 | 0xe1c900d0, | 1571 | 0xe1c900d0, |
1582 | 0xe35b0008, | 1572 | 0xe35b0008, |
1583 | 0x3a000000, | 1573 | 0x3a000000, |
@@ -1590,13 +1580,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1590 | 0xe1a0a009, | 1580 | 0xe1a0a009, |
1591 | 0x00000000, | 1581 | 0x00000000, |
1592 | 0xeb000000, | 1582 | 0xeb000000, |
1593 | 0x00030012, | 1583 | 0x00030010, |
1594 | 0x00000000, | 1584 | 0x00000000, |
1595 | 0xe1a0900a, | 1585 | 0xe1a0900a, |
1596 | 0x00000000, | 1586 | 0x00000000, |
1597 | 0xea000000, | 1587 | 0xea000000, |
1598 | 0x00050047, | 1588 | 0x00050047, |
1599 | 0x0006005d, | 1589 | 0x0006005f, |
1600 | 0xe1c900d0, | 1590 | 0xe1c900d0, |
1601 | 0xe35b0008, | 1591 | 0xe35b0008, |
1602 | 0x3a000000, | 1592 | 0x3a000000, |
@@ -1609,13 +1599,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1609 | 0xe1a0a009, | 1599 | 0xe1a0a009, |
1610 | 0x00000000, | 1600 | 0x00000000, |
1611 | 0xeb000000, | 1601 | 0xeb000000, |
1612 | 0x00030013, | 1602 | 0x00030011, |
1613 | 0x00000000, | 1603 | 0x00000000, |
1614 | 0xe1a0900a, | 1604 | 0xe1a0900a, |
1615 | 0x00000000, | 1605 | 0x00000000, |
1616 | 0xea000000, | 1606 | 0xea000000, |
1617 | 0x00050047, | 1607 | 0x00050047, |
1618 | 0x0006005e, | 1608 | 0x00060060, |
1619 | 0xe1c900d0, | 1609 | 0xe1c900d0, |
1620 | 0xe35b0008, | 1610 | 0xe35b0008, |
1621 | 0x3a000000, | 1611 | 0x3a000000, |
@@ -1628,13 +1618,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1628 | 0xe1a0a009, | 1618 | 0xe1a0a009, |
1629 | 0x00000000, | 1619 | 0x00000000, |
1630 | 0xeb000000, | 1620 | 0xeb000000, |
1631 | 0x00030014, | 1621 | 0x00030012, |
1632 | 0x00000000, | 1622 | 0x00000000, |
1633 | 0xe1a0900a, | 1623 | 0xe1a0900a, |
1634 | 0x00000000, | 1624 | 0x00000000, |
1635 | 0xea000000, | 1625 | 0xea000000, |
1636 | 0x00050047, | 1626 | 0x00050047, |
1637 | 0x0006005f, | 1627 | 0x00060061, |
1638 | 0xe1c900d0, | 1628 | 0xe1c900d0, |
1639 | 0xe35b0008, | 1629 | 0xe35b0008, |
1640 | 0x3a000000, | 1630 | 0x3a000000, |
@@ -1647,13 +1637,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1647 | 0xe1a0a009, | 1637 | 0xe1a0a009, |
1648 | 0x00000000, | 1638 | 0x00000000, |
1649 | 0xeb000000, | 1639 | 0xeb000000, |
1650 | 0x00030015, | 1640 | 0x00030013, |
1651 | 0x00000000, | 1641 | 0x00000000, |
1652 | 0xe1a0900a, | 1642 | 0xe1a0900a, |
1653 | 0x00000000, | 1643 | 0x00000000, |
1654 | 0xea000000, | 1644 | 0xea000000, |
1655 | 0x00050047, | 1645 | 0x00050047, |
1656 | 0x00060060, | 1646 | 0x00060062, |
1657 | 0xe1c900d0, | 1647 | 0xe1c900d0, |
1658 | 0xe35b0008, | 1648 | 0xe35b0008, |
1659 | 0x3a000000, | 1649 | 0x3a000000, |
@@ -1666,13 +1656,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1666 | 0xe1a0a009, | 1656 | 0xe1a0a009, |
1667 | 0x00000000, | 1657 | 0x00000000, |
1668 | 0xeb000000, | 1658 | 0xeb000000, |
1669 | 0x00030016, | 1659 | 0x00030014, |
1670 | 0x00000000, | 1660 | 0x00000000, |
1671 | 0xe1a0900a, | 1661 | 0xe1a0900a, |
1672 | 0x00000000, | 1662 | 0x00000000, |
1673 | 0xea000000, | 1663 | 0xea000000, |
1674 | 0x00050047, | 1664 | 0x00050047, |
1675 | 0x00060061, | 1665 | 0x00060063, |
1676 | 0xe1c900d0, | 1666 | 0xe1c900d0, |
1677 | 0xe35b0008, | 1667 | 0xe35b0008, |
1678 | 0x3a000000, | 1668 | 0x3a000000, |
@@ -1685,13 +1675,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1685 | 0xe1a0a009, | 1675 | 0xe1a0a009, |
1686 | 0x00000000, | 1676 | 0x00000000, |
1687 | 0xeb000000, | 1677 | 0xeb000000, |
1688 | 0x00030017, | 1678 | 0x00030015, |
1689 | 0x00000000, | 1679 | 0x00000000, |
1690 | 0xe1a0900a, | 1680 | 0xe1a0900a, |
1691 | 0x00000000, | 1681 | 0x00000000, |
1692 | 0xea000000, | 1682 | 0xea000000, |
1693 | 0x00050047, | 1683 | 0x00050047, |
1694 | 0x00060062, | 1684 | 0x00060064, |
1695 | 0xe1c900d0, | 1685 | 0xe1c900d0, |
1696 | 0xe35b0008, | 1686 | 0xe35b0008, |
1697 | 0x3a000000, | 1687 | 0x3a000000, |
@@ -1704,13 +1694,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1704 | 0xe1a0a009, | 1694 | 0xe1a0a009, |
1705 | 0x00000000, | 1695 | 0x00000000, |
1706 | 0xeb000000, | 1696 | 0xeb000000, |
1707 | 0x00030018, | 1697 | 0x00030016, |
1708 | 0x00000000, | 1698 | 0x00000000, |
1709 | 0xe1a0900a, | 1699 | 0xe1a0900a, |
1710 | 0x00000000, | 1700 | 0x00000000, |
1711 | 0xea000000, | 1701 | 0xea000000, |
1712 | 0x00050047, | 1702 | 0x00050047, |
1713 | 0x00060063, | 1703 | 0x00060065, |
1714 | 0xe1c900d0, | 1704 | 0xe1c900d0, |
1715 | 0xe35b0008, | 1705 | 0xe35b0008, |
1716 | 0x3a000000, | 1706 | 0x3a000000, |
@@ -1723,13 +1713,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1723 | 0xe1a0a009, | 1713 | 0xe1a0a009, |
1724 | 0x00000000, | 1714 | 0x00000000, |
1725 | 0xeb000000, | 1715 | 0xeb000000, |
1726 | 0x00030019, | 1716 | 0x00030017, |
1727 | 0x00000000, | 1717 | 0x00000000, |
1728 | 0xe1a0900a, | 1718 | 0xe1a0900a, |
1729 | 0x00000000, | 1719 | 0x00000000, |
1730 | 0xea000000, | 1720 | 0xea000000, |
1731 | 0x00050047, | 1721 | 0x00050047, |
1732 | 0x00060064, | 1722 | 0x00060066, |
1733 | 0xe1c900d0, | 1723 | 0xe1c900d0, |
1734 | 0xe35b0008, | 1724 | 0xe35b0008, |
1735 | 0x3a000000, | 1725 | 0x3a000000, |
@@ -1742,13 +1732,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1742 | 0xe1a0a009, | 1732 | 0xe1a0a009, |
1743 | 0x00000000, | 1733 | 0x00000000, |
1744 | 0xeb000000, | 1734 | 0xeb000000, |
1745 | 0x0003001a, | 1735 | 0x00030018, |
1746 | 0x00000000, | 1736 | 0x00000000, |
1747 | 0xe1a0900a, | 1737 | 0xe1a0900a, |
1748 | 0x00000000, | 1738 | 0x00000000, |
1749 | 0xea000000, | 1739 | 0xea000000, |
1750 | 0x00050047, | 1740 | 0x00050047, |
1751 | 0x00060065, | 1741 | 0x00060067, |
1752 | 0xe1c900d0, | 1742 | 0xe1c900d0, |
1753 | 0xe35b0008, | 1743 | 0xe35b0008, |
1754 | 0x3a000000, | 1744 | 0x3a000000, |
@@ -1761,13 +1751,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1761 | 0xe1a0a009, | 1751 | 0xe1a0a009, |
1762 | 0x00000000, | 1752 | 0x00000000, |
1763 | 0xeb000000, | 1753 | 0xeb000000, |
1764 | 0x0003001b, | 1754 | 0x00030019, |
1765 | 0x00000000, | 1755 | 0x00000000, |
1766 | 0xe1a0900a, | 1756 | 0xe1a0900a, |
1767 | 0x00000000, | 1757 | 0x00000000, |
1768 | 0xea000000, | 1758 | 0xea000000, |
1769 | 0x00050047, | 1759 | 0x00050047, |
1770 | 0x00060066, | 1760 | 0x00060068, |
1771 | 0xe1c900d0, | 1761 | 0xe1c900d0, |
1772 | 0xe35b0008, | 1762 | 0xe35b0008, |
1773 | 0x3a000000, | 1763 | 0x3a000000, |
@@ -1780,13 +1770,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1780 | 0xe1a0a009, | 1770 | 0xe1a0a009, |
1781 | 0x00000000, | 1771 | 0x00000000, |
1782 | 0xeb000000, | 1772 | 0xeb000000, |
1783 | 0x0003001c, | 1773 | 0x0003001a, |
1784 | 0x00000000, | 1774 | 0x00000000, |
1785 | 0xe1a0900a, | 1775 | 0xe1a0900a, |
1786 | 0x00000000, | 1776 | 0x00000000, |
1787 | 0xea000000, | 1777 | 0xea000000, |
1788 | 0x00050047, | 1778 | 0x00050047, |
1789 | 0x00060067, | 1779 | 0x00060069, |
1790 | 0xe1c900d0, | 1780 | 0xe1c900d0, |
1791 | 0xe35b0008, | 1781 | 0xe35b0008, |
1792 | 0x3a000000, | 1782 | 0x3a000000, |
@@ -1799,13 +1789,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1799 | 0xe1a0a009, | 1789 | 0xe1a0a009, |
1800 | 0x00000000, | 1790 | 0x00000000, |
1801 | 0xeb000000, | 1791 | 0xeb000000, |
1802 | 0x0003001d, | 1792 | 0x0003001b, |
1803 | 0x00000000, | 1793 | 0x00000000, |
1804 | 0xe1a0900a, | 1794 | 0xe1a0900a, |
1805 | 0x00000000, | 1795 | 0x00000000, |
1806 | 0xea000000, | 1796 | 0xea000000, |
1807 | 0x00050047, | 1797 | 0x00050047, |
1808 | 0x00060068, | 1798 | 0x0006006a, |
1809 | 0xe1c900d0, | 1799 | 0xe1c900d0, |
1810 | 0xe1c920d8, | 1800 | 0xe1c920d8, |
1811 | 0xe35b0010, | 1801 | 0xe35b0010, |
@@ -1821,13 +1811,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1821 | 0xe1a0a009, | 1811 | 0xe1a0a009, |
1822 | 0x00000000, | 1812 | 0x00000000, |
1823 | 0xeb000000, | 1813 | 0xeb000000, |
1824 | 0x0003001e, | 1814 | 0x0003001c, |
1825 | 0x00000000, | 1815 | 0x00000000, |
1826 | 0xe1a0900a, | 1816 | 0xe1a0900a, |
1827 | 0x00000000, | 1817 | 0x00000000, |
1828 | 0xea000000, | 1818 | 0xea000000, |
1829 | 0x00050047, | 1819 | 0x00050047, |
1830 | 0x00060069, | 1820 | 0x0006006b, |
1831 | 0xe1c900d0, | 1821 | 0xe1c900d0, |
1832 | 0xe1c920d8, | 1822 | 0xe1c920d8, |
1833 | 0xe35b0010, | 1823 | 0xe35b0010, |
@@ -1843,13 +1833,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1843 | 0xe1a0a009, | 1833 | 0xe1a0a009, |
1844 | 0x00000000, | 1834 | 0x00000000, |
1845 | 0xeb000000, | 1835 | 0xeb000000, |
1846 | 0x0003001f, | 1836 | 0x0003001d, |
1847 | 0x00000000, | 1837 | 0x00000000, |
1848 | 0xe1a0900a, | 1838 | 0xe1a0900a, |
1849 | 0x00000000, | 1839 | 0x00000000, |
1850 | 0xea000000, | 1840 | 0xea000000, |
1851 | 0x00050047, | 1841 | 0x00050047, |
1852 | 0x0006006a, | 1842 | 0x0006006c, |
1853 | 0xe1c900d0, | 1843 | 0xe1c900d0, |
1854 | 0xe1c920d8, | 1844 | 0xe1c920d8, |
1855 | 0xe35b0010, | 1845 | 0xe35b0010, |
@@ -1865,14 +1855,14 @@ static const unsigned int build_actionlist[5615] = { | |||
1865 | 0xe1a0a009, | 1855 | 0xe1a0a009, |
1866 | 0x00000000, | 1856 | 0x00000000, |
1867 | 0xeb000000, | 1857 | 0xeb000000, |
1868 | 0x00030020, | 1858 | 0x0003001e, |
1869 | 0x00000000, | 1859 | 0x00000000, |
1870 | 0xe1a0900a, | 1860 | 0xe1a0900a, |
1871 | 0x00000000, | 1861 | 0x00000000, |
1872 | 0xea000000, | 1862 | 0xea000000, |
1873 | 0x00050047, | 1863 | 0x00050047, |
1874 | 0x0006006b, | 1864 | 0x0006006d, |
1875 | 0x0006006c, | 1865 | 0x0006006e, |
1876 | 0xe1c900d0, | 1866 | 0xe1c900d0, |
1877 | 0xe35b0008, | 1867 | 0xe35b0008, |
1878 | 0x3a000000, | 1868 | 0x3a000000, |
@@ -1884,10 +1874,10 @@ static const unsigned int build_actionlist[5615] = { | |||
1884 | 0xe14220d0, | 1874 | 0xe14220d0, |
1885 | 0x000c8100, | 1875 | 0x000c8100, |
1886 | 0xeb000000, | 1876 | 0xeb000000, |
1887 | 0x00030021, | 1877 | 0x0003001f, |
1888 | 0xea000000, | 1878 | 0xea000000, |
1889 | 0x00050047, | 1879 | 0x00050047, |
1890 | 0x0006006d, | 1880 | 0x0006006f, |
1891 | 0xe1c900d0, | 1881 | 0xe1c900d0, |
1892 | 0xe1c920d8, | 1882 | 0xe1c920d8, |
1893 | 0xe35b0010, | 1883 | 0xe35b0010, |
@@ -1905,13 +1895,13 @@ static const unsigned int build_actionlist[5615] = { | |||
1905 | 0xe1a0a009, | 1895 | 0xe1a0a009, |
1906 | 0x00000000, | 1896 | 0x00000000, |
1907 | 0xeb000000, | 1897 | 0xeb000000, |
1908 | 0x00030022, | 1898 | 0x00030020, |
1909 | 0x00000000, | 1899 | 0x00000000, |
1910 | 0xe1a0900a, | 1900 | 0xe1a0900a, |
1911 | 0x00000000, | 1901 | 0x00000000, |
1912 | 0xea000000, | 1902 | 0xea000000, |
1913 | 0x00050047, | 1903 | 0x00050047, |
1914 | 0x0006006e, | 1904 | 0x00060070, |
1915 | 0xe1c900d0, | 1905 | 0xe1c900d0, |
1916 | 0xe35b0008, | 1906 | 0xe35b0008, |
1917 | 0x3a000000, | 1907 | 0x3a000000, |
@@ -1925,7 +1915,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1925 | 0xe1a0a009, | 1915 | 0xe1a0a009, |
1926 | 0x00000000, | 1916 | 0x00000000, |
1927 | 0xeb000000, | 1917 | 0xeb000000, |
1928 | 0x00030023, | 1918 | 0x00030021, |
1929 | 0x00000000, | 1919 | 0x00000000, |
1930 | 0xe1a0900a, | 1920 | 0xe1a0900a, |
1931 | 0x00000000, | 1921 | 0x00000000, |
@@ -1939,7 +1929,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1939 | 0xe1c920f0, | 1929 | 0xe1c920f0, |
1940 | 0xea000000, | 1930 | 0xea000000, |
1941 | 0x00050045, | 1931 | 0x00050045, |
1942 | 0x0006006f, | 1932 | 0x00060071, |
1943 | 0xe1c900d0, | 1933 | 0xe1c900d0, |
1944 | 0xe35b0008, | 1934 | 0xe35b0008, |
1945 | 0x3a000000, | 1935 | 0x3a000000, |
@@ -1954,7 +1944,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1954 | 0xe1a0a009, | 1944 | 0xe1a0a009, |
1955 | 0x00000000, | 1945 | 0x00000000, |
1956 | 0xeb000000, | 1946 | 0xeb000000, |
1957 | 0x00030024, | 1947 | 0x00030022, |
1958 | 0x00000000, | 1948 | 0x00000000, |
1959 | 0xe1a0900a, | 1949 | 0xe1a0900a, |
1960 | 0x00000000, | 1950 | 0x00000000, |
@@ -1963,7 +1953,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1963 | 0xe1c900f0, | 1953 | 0xe1c900f0, |
1964 | 0xea000000, | 1954 | 0xea000000, |
1965 | 0x00050045, | 1955 | 0x00050045, |
1966 | 0x00060070, | 1956 | 0x00060072, |
1967 | 0xe1c900d0, | 1957 | 0xe1c900d0, |
1968 | 0xe35b0008, | 1958 | 0xe35b0008, |
1969 | 0x3a000000, | 1959 | 0x3a000000, |
@@ -1991,7 +1981,7 @@ static const unsigned int build_actionlist[5615] = { | |||
1991 | 0x8a000000, | 1981 | 0x8a000000, |
1992 | 0x00050044, | 1982 | 0x00050044, |
1993 | 0xeb000000, | 1983 | 0xeb000000, |
1994 | 0x00030025, | 1984 | 0x00030023, |
1995 | 0xe18920da, | 1985 | 0xe18920da, |
1996 | 0xea000000, | 1986 | 0xea000000, |
1997 | 0x00050006, | 1987 | 0x00050006, |
@@ -2010,7 +2000,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2010 | 0x00060010, | 2000 | 0x00060010, |
2011 | 0x00000000, | 2001 | 0x00000000, |
2012 | 0xeb000000, | 2002 | 0xeb000000, |
2013 | 0x00030026, | 2003 | 0x00030024, |
2014 | 0xe28aa008, | 2004 | 0xe28aa008, |
2015 | 0x81a00002, | 2005 | 0x81a00002, |
2016 | 0x81a01003, | 2006 | 0x81a01003, |
@@ -2022,11 +2012,11 @@ static const unsigned int build_actionlist[5615] = { | |||
2022 | 0xe1cd00f0, | 2012 | 0xe1cd00f0, |
2023 | 0xe1a00002, | 2013 | 0xe1a00002, |
2024 | 0xeb000000, | 2014 | 0xeb000000, |
2025 | 0x00030025, | 2015 | 0x00030023, |
2026 | 0xe1cd20d0, | 2016 | 0xe1cd20d0, |
2027 | 0xea000000, | 2017 | 0xea000000, |
2028 | 0x00050010, | 2018 | 0x00050010, |
2029 | 0x00060071, | 2019 | 0x00060073, |
2030 | 0xe1c900d0, | 2020 | 0xe1c900d0, |
2031 | 0xe35b0008, | 2021 | 0xe35b0008, |
2032 | 0x3a000000, | 2022 | 0x3a000000, |
@@ -2054,7 +2044,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2054 | 0x8a000000, | 2044 | 0x8a000000, |
2055 | 0x00050044, | 2045 | 0x00050044, |
2056 | 0xeb000000, | 2046 | 0xeb000000, |
2057 | 0x00030025, | 2047 | 0x00030023, |
2058 | 0xe18920da, | 2048 | 0xe18920da, |
2059 | 0xea000000, | 2049 | 0xea000000, |
2060 | 0x00050006, | 2050 | 0x00050006, |
@@ -2073,7 +2063,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2073 | 0x00050007, | 2063 | 0x00050007, |
2074 | 0x00060010, | 2064 | 0x00060010, |
2075 | 0xeb000000, | 2065 | 0xeb000000, |
2076 | 0x00030026, | 2066 | 0x00030024, |
2077 | 0xe28aa008, | 2067 | 0xe28aa008, |
2078 | 0x31a00002, | 2068 | 0x31a00002, |
2079 | 0x31a01003, | 2069 | 0x31a01003, |
@@ -2085,11 +2075,11 @@ static const unsigned int build_actionlist[5615] = { | |||
2085 | 0xe1cd00f0, | 2075 | 0xe1cd00f0, |
2086 | 0xe1a00002, | 2076 | 0xe1a00002, |
2087 | 0xeb000000, | 2077 | 0xeb000000, |
2088 | 0x00030025, | 2078 | 0x00030023, |
2089 | 0xe1cd20d0, | 2079 | 0xe1cd20d0, |
2090 | 0xea000000, | 2080 | 0xea000000, |
2091 | 0x00050010, | 2081 | 0x00050010, |
2092 | 0x00060072, | 2082 | 0x00060074, |
2093 | 0xe1c900d0, | 2083 | 0xe1c900d0, |
2094 | 0xe35b0008, | 2084 | 0xe35b0008, |
2095 | 0x3a000000, | 2085 | 0x3a000000, |
@@ -2104,7 +2094,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2104 | 0x000a0000, | 2094 | 0x000a0000, |
2105 | 0xea000000, | 2095 | 0xea000000, |
2106 | 0x00050047, | 2096 | 0x00050047, |
2107 | 0x00060073, | 2097 | 0x00060075, |
2108 | 0xe1c900d0, | 2098 | 0xe1c900d0, |
2109 | 0xe5196004, | 2099 | 0xe5196004, |
2110 | 0xe35b0008, | 2100 | 0xe35b0008, |
@@ -2127,7 +2117,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2127 | 0xe14900f8, | 2117 | 0xe14900f8, |
2128 | 0xea000000, | 2118 | 0xea000000, |
2129 | 0x00050045, | 2119 | 0x00050045, |
2130 | 0x00060074, | 2120 | 0x00060076, |
2131 | 0xe5170000, | 2121 | 0xe5170000, |
2132 | 0x000d8180, | 2122 | 0x000d8180, |
2133 | 0xe5171000, | 2123 | 0xe5171000, |
@@ -2146,20 +2136,20 @@ static const unsigned int build_actionlist[5615] = { | |||
2146 | 0x00050044, | 2136 | 0x00050044, |
2147 | 0xe58d0000, | 2137 | 0xe58d0000, |
2148 | 0xe1a0100d, | 2138 | 0xe1a0100d, |
2149 | 0x00060075, | 2139 | 0x00060077, |
2150 | 0xe5089000, | 2140 | 0xe5089000, |
2151 | 0x000d8180, | 2141 | 0x000d8180, |
2152 | 0xe1a00008, | 2142 | 0xe1a00008, |
2153 | 0xe58d6008, | 2143 | 0xe58d6008, |
2154 | 0xeb000000, | 2144 | 0xeb000000, |
2155 | 0x00030027, | 2145 | 0x00030025, |
2156 | 0xe5189000, | 2146 | 0xe5189000, |
2157 | 0x000d8180, | 2147 | 0x000d8180, |
2158 | 0xe3e01000, | 2148 | 0xe3e01000, |
2159 | 0x000a0000, | 2149 | 0x000a0000, |
2160 | 0xea000000, | 2150 | 0xea000000, |
2161 | 0x00050047, | 2151 | 0x00050047, |
2162 | 0x00060076, | 2152 | 0x00060078, |
2163 | 0xe5170000, | 2153 | 0xe5170000, |
2164 | 0x000d8180, | 2154 | 0x000d8180, |
2165 | 0xe5171000, | 2155 | 0xe5171000, |
@@ -2207,15 +2197,15 @@ static const unsigned int build_actionlist[5615] = { | |||
2207 | 0xe05c2002, | 2197 | 0xe05c2002, |
2208 | 0xe2822001, | 2198 | 0xe2822001, |
2209 | 0xaa000000, | 2199 | 0xaa000000, |
2210 | 0x00050075, | 2200 | 0x00050077, |
2211 | 0x00060077, | 2201 | 0x00060079, |
2212 | 0xe2470000, | 2202 | 0xe2470000, |
2213 | 0x000a0000, | 2203 | 0x000a0000, |
2214 | 0xe3e01000, | 2204 | 0xe3e01000, |
2215 | 0x000a0000, | 2205 | 0x000a0000, |
2216 | 0xea000000, | 2206 | 0xea000000, |
2217 | 0x00050047, | 2207 | 0x00050047, |
2218 | 0x00060078, | 2208 | 0x0006007a, |
2219 | 0xe5170000, | 2209 | 0xe5170000, |
2220 | 0x000d8180, | 2210 | 0x000d8180, |
2221 | 0xe5171000, | 2211 | 0xe5171000, |
@@ -2239,10 +2229,10 @@ static const unsigned int build_actionlist[5615] = { | |||
2239 | 0x000d8180, | 2229 | 0x000d8180, |
2240 | 0x00000000, | 2230 | 0x00000000, |
2241 | 0xba000000, | 2231 | 0xba000000, |
2242 | 0x00050077, | 2232 | 0x00050079, |
2243 | 0xe3510001, | 2233 | 0xe3510001, |
2244 | 0x3a000000, | 2234 | 0x3a000000, |
2245 | 0x00050077, | 2235 | 0x00050079, |
2246 | 0x1a000000, | 2236 | 0x1a000000, |
2247 | 0x00050044, | 2237 | 0x00050044, |
2248 | 0xe517c000, | 2238 | 0xe517c000, |
@@ -2260,8 +2250,8 @@ static const unsigned int build_actionlist[5615] = { | |||
2260 | 0xaa000000, | 2250 | 0xaa000000, |
2261 | 0x0005000b, | 2251 | 0x0005000b, |
2262 | 0xea000000, | 2252 | 0xea000000, |
2263 | 0x00050075, | 2253 | 0x00050077, |
2264 | 0x00060079, | 2254 | 0x0006007b, |
2265 | 0xe5170000, | 2255 | 0xe5170000, |
2266 | 0x000d8180, | 2256 | 0x000d8180, |
2267 | 0xe5171000, | 2257 | 0xe5171000, |
@@ -2294,11 +2284,11 @@ static const unsigned int build_actionlist[5615] = { | |||
2294 | 0xe4d0c001, | 2284 | 0xe4d0c001, |
2295 | 0xe2533001, | 2285 | 0xe2533001, |
2296 | 0xba000000, | 2286 | 0xba000000, |
2297 | 0x00050075, | 2287 | 0x00050077, |
2298 | 0xe7c1c003, | 2288 | 0xe7c1c003, |
2299 | 0xea000000, | 2289 | 0xea000000, |
2300 | 0x0005000b, | 2290 | 0x0005000b, |
2301 | 0x0006007a, | 2291 | 0x0006007c, |
2302 | 0xe5170000, | 2292 | 0xe5170000, |
2303 | 0x000d8180, | 2293 | 0x000d8180, |
2304 | 0xe5171000, | 2294 | 0xe5171000, |
@@ -2330,7 +2320,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2330 | 0xe7d0c003, | 2320 | 0xe7d0c003, |
2331 | 0xe1530002, | 2321 | 0xe1530002, |
2332 | 0x2a000000, | 2322 | 0x2a000000, |
2333 | 0x00050075, | 2323 | 0x00050077, |
2334 | 0xe24cb041, | 2324 | 0xe24cb041, |
2335 | 0xe35b001a, | 2325 | 0xe35b001a, |
2336 | 0x322cc020, | 2326 | 0x322cc020, |
@@ -2338,7 +2328,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2338 | 0xe2833001, | 2328 | 0xe2833001, |
2339 | 0xea000000, | 2329 | 0xea000000, |
2340 | 0x0005000b, | 2330 | 0x0005000b, |
2341 | 0x0006007b, | 2331 | 0x0006007d, |
2342 | 0xe5170000, | 2332 | 0xe5170000, |
2343 | 0x000d8180, | 2333 | 0x000d8180, |
2344 | 0xe5171000, | 2334 | 0xe5171000, |
@@ -2371,7 +2361,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2371 | 0xe7d0c003, | 2361 | 0xe7d0c003, |
2372 | 0xe1530002, | 2362 | 0xe1530002, |
2373 | 0x2a000000, | 2363 | 0x2a000000, |
2374 | 0x00050075, | 2364 | 0x00050077, |
2375 | 0xe24cb061, | 2365 | 0xe24cb061, |
2376 | 0xe35b001a, | 2366 | 0xe35b001a, |
2377 | 0x322cc020, | 2367 | 0x322cc020, |
@@ -2379,7 +2369,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2379 | 0xe2833001, | 2369 | 0xe2833001, |
2380 | 0xea000000, | 2370 | 0xea000000, |
2381 | 0x0005000b, | 2371 | 0x0005000b, |
2382 | 0x0006007c, | 2372 | 0x0006007e, |
2383 | 0xe1c900d0, | 2373 | 0xe1c900d0, |
2384 | 0xe35b0008, | 2374 | 0xe35b0008, |
2385 | 0x3a000000, | 2375 | 0x3a000000, |
@@ -2392,7 +2382,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2392 | 0xe1a0a009, | 2382 | 0xe1a0a009, |
2393 | 0x00000000, | 2383 | 0x00000000, |
2394 | 0xeb000000, | 2384 | 0xeb000000, |
2395 | 0x00030028, | 2385 | 0x00030026, |
2396 | 0x00000000, | 2386 | 0x00000000, |
2397 | 0xe1a0900a, | 2387 | 0xe1a0900a, |
2398 | 0x00000000, | 2388 | 0x00000000, |
@@ -2400,10 +2390,10 @@ static const unsigned int build_actionlist[5615] = { | |||
2400 | 0x000a0000, | 2390 | 0x000a0000, |
2401 | 0xea000000, | 2391 | 0xea000000, |
2402 | 0x00050047, | 2392 | 0x00050047, |
2403 | 0x0006007d, | 2393 | 0x0006007f, |
2404 | 0x8a000000, | 2394 | 0x8a000000, |
2405 | 0x00050044, | 2395 | 0x00050044, |
2406 | 0x0006007e, | 2396 | 0x00060080, |
2407 | 0xe1a0c081, | 2397 | 0xe1a0c081, |
2408 | 0xe29cc980, | 2398 | 0xe29cc980, |
2409 | 0x53a00000, | 2399 | 0x53a00000, |
@@ -2428,7 +2418,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2428 | 0xe1830c10, | 2418 | 0xe1830c10, |
2429 | 0xb2600000, | 2419 | 0xb2600000, |
2430 | 0xe12fff1e, | 2420 | 0xe12fff1e, |
2431 | 0x0006007f, | 2421 | 0x00060081, |
2432 | 0xe1c900d0, | 2422 | 0xe1c900d0, |
2433 | 0xe35b0008, | 2423 | 0xe35b0008, |
2434 | 0x3a000000, | 2424 | 0x3a000000, |
@@ -2436,12 +2426,12 @@ static const unsigned int build_actionlist[5615] = { | |||
2436 | 0xe3710000, | 2426 | 0xe3710000, |
2437 | 0x000a0000, | 2427 | 0x000a0000, |
2438 | 0x1b000000, | 2428 | 0x1b000000, |
2439 | 0x0005007d, | 2429 | 0x0005007f, |
2440 | 0xe3e01000, | 2430 | 0xe3e01000, |
2441 | 0x000a0000, | 2431 | 0x000a0000, |
2442 | 0xea000000, | 2432 | 0xea000000, |
2443 | 0x00050047, | 2433 | 0x00050047, |
2444 | 0x00060080, | 2434 | 0x00060082, |
2445 | 0xe1c900d0, | 2435 | 0xe1c900d0, |
2446 | 0xe35b0008, | 2436 | 0xe35b0008, |
2447 | 0x3a000000, | 2437 | 0x3a000000, |
@@ -2449,7 +2439,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2449 | 0xe3710000, | 2439 | 0xe3710000, |
2450 | 0x000a0000, | 2440 | 0x000a0000, |
2451 | 0x1b000000, | 2441 | 0x1b000000, |
2452 | 0x0005007d, | 2442 | 0x0005007f, |
2453 | 0xe1a02000, | 2443 | 0xe1a02000, |
2454 | 0xe3a0a008, | 2444 | 0xe3a0a008, |
2455 | 0x0006000b, | 2445 | 0x0006000b, |
@@ -2461,11 +2451,11 @@ static const unsigned int build_actionlist[5615] = { | |||
2461 | 0xe3710000, | 2451 | 0xe3710000, |
2462 | 0x000a0000, | 2452 | 0x000a0000, |
2463 | 0x1b000000, | 2453 | 0x1b000000, |
2464 | 0x0005007d, | 2454 | 0x0005007f, |
2465 | 0xe0022000, | 2455 | 0xe0022000, |
2466 | 0xea000000, | 2456 | 0xea000000, |
2467 | 0x0005000b, | 2457 | 0x0005000b, |
2468 | 0x00060081, | 2458 | 0x00060083, |
2469 | 0x00000000, | 2459 | 0x00000000, |
2470 | 0xe1c900d0, | 2460 | 0xe1c900d0, |
2471 | 0xe35b0008, | 2461 | 0xe35b0008, |
@@ -2474,7 +2464,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2474 | 0xe3710000, | 2464 | 0xe3710000, |
2475 | 0x000a0000, | 2465 | 0x000a0000, |
2476 | 0x1b000000, | 2466 | 0x1b000000, |
2477 | 0x0005007d, | 2467 | 0x0005007f, |
2478 | 0xe1a02000, | 2468 | 0xe1a02000, |
2479 | 0xe3a0a008, | 2469 | 0xe3a0a008, |
2480 | 0x0006000b, | 2470 | 0x0006000b, |
@@ -2486,11 +2476,11 @@ static const unsigned int build_actionlist[5615] = { | |||
2486 | 0xe3710000, | 2476 | 0xe3710000, |
2487 | 0x000a0000, | 2477 | 0x000a0000, |
2488 | 0x1b000000, | 2478 | 0x1b000000, |
2489 | 0x0005007d, | 2479 | 0x0005007f, |
2490 | 0xe1822000, | 2480 | 0xe1822000, |
2491 | 0xea000000, | 2481 | 0xea000000, |
2492 | 0x0005000b, | 2482 | 0x0005000b, |
2493 | 0x00060082, | 2483 | 0x00060084, |
2494 | 0xe1c900d0, | 2484 | 0xe1c900d0, |
2495 | 0xe35b0008, | 2485 | 0xe35b0008, |
2496 | 0x3a000000, | 2486 | 0x3a000000, |
@@ -2498,7 +2488,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2498 | 0xe3710000, | 2488 | 0xe3710000, |
2499 | 0x000a0000, | 2489 | 0x000a0000, |
2500 | 0x1b000000, | 2490 | 0x1b000000, |
2501 | 0x0005007d, | 2491 | 0x0005007f, |
2502 | 0xe1a02000, | 2492 | 0xe1a02000, |
2503 | 0xe3a0a008, | 2493 | 0xe3a0a008, |
2504 | 0x0006000b, | 2494 | 0x0006000b, |
@@ -2510,7 +2500,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2510 | 0xe3710000, | 2500 | 0xe3710000, |
2511 | 0x000a0000, | 2501 | 0x000a0000, |
2512 | 0x1b000000, | 2502 | 0x1b000000, |
2513 | 0x0005007d, | 2503 | 0x0005007f, |
2514 | 0xe0222000, | 2504 | 0xe0222000, |
2515 | 0xea000000, | 2505 | 0xea000000, |
2516 | 0x0005000b, | 2506 | 0x0005000b, |
@@ -2520,8 +2510,8 @@ static const unsigned int build_actionlist[5615] = { | |||
2520 | 0xe5196004, | 2510 | 0xe5196004, |
2521 | 0xe14920f8, | 2511 | 0xe14920f8, |
2522 | 0xea000000, | 2512 | 0xea000000, |
2523 | 0x0005005a, | 2513 | 0x0005005c, |
2524 | 0x00060083, | 2514 | 0x00060085, |
2525 | 0xe1c900d0, | 2515 | 0xe1c900d0, |
2526 | 0xe35b0008, | 2516 | 0xe35b0008, |
2527 | 0x3a000000, | 2517 | 0x3a000000, |
@@ -2530,7 +2520,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2530 | 0xe3710000, | 2520 | 0xe3710000, |
2531 | 0x000a0000, | 2521 | 0x000a0000, |
2532 | 0x1b000000, | 2522 | 0x1b000000, |
2533 | 0x0005007d, | 2523 | 0x0005007f, |
2534 | 0xe0202860, | 2524 | 0xe0202860, |
2535 | 0xe3c228ff, | 2525 | 0xe3c228ff, |
2536 | 0xe1a00460, | 2526 | 0xe1a00460, |
@@ -2539,7 +2529,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2539 | 0xe0200422, | 2529 | 0xe0200422, |
2540 | 0xea000000, | 2530 | 0xea000000, |
2541 | 0x00050047, | 2531 | 0x00050047, |
2542 | 0x00060084, | 2532 | 0x00060086, |
2543 | 0xe1c900d0, | 2533 | 0xe1c900d0, |
2544 | 0xe35b0008, | 2534 | 0xe35b0008, |
2545 | 0x3a000000, | 2535 | 0x3a000000, |
@@ -2547,13 +2537,13 @@ static const unsigned int build_actionlist[5615] = { | |||
2547 | 0xe3710000, | 2537 | 0xe3710000, |
2548 | 0x000a0000, | 2538 | 0x000a0000, |
2549 | 0x1b000000, | 2539 | 0x1b000000, |
2550 | 0x0005007d, | 2540 | 0x0005007f, |
2551 | 0xe1e00000, | 2541 | 0xe1e00000, |
2552 | 0xe3e01000, | 2542 | 0xe3e01000, |
2553 | 0x000a0000, | 2543 | 0x000a0000, |
2554 | 0xea000000, | 2544 | 0xea000000, |
2555 | 0x00050047, | 2545 | 0x00050047, |
2556 | 0x00060085, | 2546 | 0x00060087, |
2557 | 0xe1c900d8, | 2547 | 0xe1c900d8, |
2558 | 0xe35b0010, | 2548 | 0xe35b0010, |
2559 | 0x3a000000, | 2549 | 0x3a000000, |
@@ -2561,19 +2551,19 @@ static const unsigned int build_actionlist[5615] = { | |||
2561 | 0xe3710000, | 2551 | 0xe3710000, |
2562 | 0x000a0000, | 2552 | 0x000a0000, |
2563 | 0x1b000000, | 2553 | 0x1b000000, |
2564 | 0x0005007d, | 2554 | 0x0005007f, |
2565 | 0xe200a01f, | 2555 | 0xe200a01f, |
2566 | 0xe1c900d0, | 2556 | 0xe1c900d0, |
2567 | 0xe3710000, | 2557 | 0xe3710000, |
2568 | 0x000a0000, | 2558 | 0x000a0000, |
2569 | 0x1b000000, | 2559 | 0x1b000000, |
2570 | 0x0005007d, | 2560 | 0x0005007f, |
2571 | 0xe1a00a10, | 2561 | 0xe1a00a10, |
2572 | 0xe3e01000, | 2562 | 0xe3e01000, |
2573 | 0x000a0000, | 2563 | 0x000a0000, |
2574 | 0xea000000, | 2564 | 0xea000000, |
2575 | 0x00050047, | 2565 | 0x00050047, |
2576 | 0x00060086, | 2566 | 0x00060088, |
2577 | 0xe1c900d8, | 2567 | 0xe1c900d8, |
2578 | 0xe35b0010, | 2568 | 0xe35b0010, |
2579 | 0x3a000000, | 2569 | 0x3a000000, |
@@ -2581,20 +2571,20 @@ static const unsigned int build_actionlist[5615] = { | |||
2581 | 0xe3710000, | 2571 | 0xe3710000, |
2582 | 0x000a0000, | 2572 | 0x000a0000, |
2583 | 0x1b000000, | 2573 | 0x1b000000, |
2584 | 0x0005007d, | 2574 | 0x0005007f, |
2585 | 0x00000000, | 2575 | 0x00000000, |
2586 | 0xe200a01f, | 2576 | 0xe200a01f, |
2587 | 0xe1c900d0, | 2577 | 0xe1c900d0, |
2588 | 0xe3710000, | 2578 | 0xe3710000, |
2589 | 0x000a0000, | 2579 | 0x000a0000, |
2590 | 0x1b000000, | 2580 | 0x1b000000, |
2591 | 0x0005007d, | 2581 | 0x0005007f, |
2592 | 0xe1a00a30, | 2582 | 0xe1a00a30, |
2593 | 0xe3e01000, | 2583 | 0xe3e01000, |
2594 | 0x000a0000, | 2584 | 0x000a0000, |
2595 | 0xea000000, | 2585 | 0xea000000, |
2596 | 0x00050047, | 2586 | 0x00050047, |
2597 | 0x00060087, | 2587 | 0x00060089, |
2598 | 0xe1c900d8, | 2588 | 0xe1c900d8, |
2599 | 0xe35b0010, | 2589 | 0xe35b0010, |
2600 | 0x3a000000, | 2590 | 0x3a000000, |
@@ -2602,19 +2592,19 @@ static const unsigned int build_actionlist[5615] = { | |||
2602 | 0xe3710000, | 2592 | 0xe3710000, |
2603 | 0x000a0000, | 2593 | 0x000a0000, |
2604 | 0x1b000000, | 2594 | 0x1b000000, |
2605 | 0x0005007d, | 2595 | 0x0005007f, |
2606 | 0xe200a01f, | 2596 | 0xe200a01f, |
2607 | 0xe1c900d0, | 2597 | 0xe1c900d0, |
2608 | 0xe3710000, | 2598 | 0xe3710000, |
2609 | 0x000a0000, | 2599 | 0x000a0000, |
2610 | 0x1b000000, | 2600 | 0x1b000000, |
2611 | 0x0005007d, | 2601 | 0x0005007f, |
2612 | 0xe1a00a50, | 2602 | 0xe1a00a50, |
2613 | 0xe3e01000, | 2603 | 0xe3e01000, |
2614 | 0x000a0000, | 2604 | 0x000a0000, |
2615 | 0xea000000, | 2605 | 0xea000000, |
2616 | 0x00050047, | 2606 | 0x00050047, |
2617 | 0x00060088, | 2607 | 0x0006008a, |
2618 | 0xe1c900d8, | 2608 | 0xe1c900d8, |
2619 | 0xe35b0010, | 2609 | 0xe35b0010, |
2620 | 0x3a000000, | 2610 | 0x3a000000, |
@@ -2622,19 +2612,19 @@ static const unsigned int build_actionlist[5615] = { | |||
2622 | 0xe3710000, | 2612 | 0xe3710000, |
2623 | 0x000a0000, | 2613 | 0x000a0000, |
2624 | 0x1b000000, | 2614 | 0x1b000000, |
2625 | 0x0005007d, | 2615 | 0x0005007f, |
2626 | 0xe260a000, | 2616 | 0xe260a000, |
2627 | 0xe1c900d0, | 2617 | 0xe1c900d0, |
2628 | 0xe3710000, | 2618 | 0xe3710000, |
2629 | 0x000a0000, | 2619 | 0x000a0000, |
2630 | 0x1b000000, | 2620 | 0x1b000000, |
2631 | 0x0005007d, | 2621 | 0x0005007f, |
2632 | 0xe1a00a70, | 2622 | 0xe1a00a70, |
2633 | 0xe3e01000, | 2623 | 0xe3e01000, |
2634 | 0x000a0000, | 2624 | 0x000a0000, |
2635 | 0xea000000, | 2625 | 0xea000000, |
2636 | 0x00050047, | 2626 | 0x00050047, |
2637 | 0x00060089, | 2627 | 0x0006008b, |
2638 | 0xe1c900d8, | 2628 | 0xe1c900d8, |
2639 | 0xe35b0010, | 2629 | 0xe35b0010, |
2640 | 0x3a000000, | 2630 | 0x3a000000, |
@@ -2643,13 +2633,13 @@ static const unsigned int build_actionlist[5615] = { | |||
2643 | 0xe3710000, | 2633 | 0xe3710000, |
2644 | 0x000a0000, | 2634 | 0x000a0000, |
2645 | 0x1b000000, | 2635 | 0x1b000000, |
2646 | 0x0005007d, | 2636 | 0x0005007f, |
2647 | 0xe200a01f, | 2637 | 0xe200a01f, |
2648 | 0xe1c900d0, | 2638 | 0xe1c900d0, |
2649 | 0xe3710000, | 2639 | 0xe3710000, |
2650 | 0x000a0000, | 2640 | 0x000a0000, |
2651 | 0x1b000000, | 2641 | 0x1b000000, |
2652 | 0x0005007d, | 2642 | 0x0005007f, |
2653 | 0xe1a00a70, | 2643 | 0xe1a00a70, |
2654 | 0xe3e01000, | 2644 | 0xe3e01000, |
2655 | 0x000a0000, | 2645 | 0x000a0000, |
@@ -2729,13 +2719,13 @@ static const unsigned int build_actionlist[5615] = { | |||
2729 | 0x000d8180, | 2719 | 0x000d8180, |
2730 | 0xe1a00008, | 2720 | 0xe1a00008, |
2731 | 0xeb000000, | 2721 | 0xeb000000, |
2732 | 0x00030029, | 2722 | 0x00030027, |
2733 | 0xe5189000, | 2723 | 0xe5189000, |
2734 | 0x000d8180, | 2724 | 0x000d8180, |
2735 | 0xe1a0e00a, | 2725 | 0xe1a0e00a, |
2736 | 0xe5192008, | 2726 | 0xe5192008, |
2737 | 0xe12fff1e, | 2727 | 0xe12fff1e, |
2738 | 0x0006008a, | 2728 | 0x0006008c, |
2739 | 0x00000000, | 2729 | 0x00000000, |
2740 | 0xe5570000, | 2730 | 0xe5570000, |
2741 | 0x000d8180, | 2731 | 0x000d8180, |
@@ -2757,7 +2747,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2757 | 0xea000000, | 2747 | 0xea000000, |
2758 | 0x00050001, | 2748 | 0x00050001, |
2759 | 0x00000000, | 2749 | 0x00000000, |
2760 | 0x0006008b, | 2750 | 0x0006008d, |
2761 | 0xe5570000, | 2751 | 0xe5570000, |
2762 | 0x000d8180, | 2752 | 0x000d8180, |
2763 | 0xe3100000, | 2753 | 0xe3100000, |
@@ -2769,7 +2759,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2769 | 0xe087c10c, | 2759 | 0xe087c10c, |
2770 | 0xe51cf000, | 2760 | 0xe51cf000, |
2771 | 0x000d8180, | 2761 | 0x000d8180, |
2772 | 0x0006008c, | 2762 | 0x0006008e, |
2773 | 0xe5570000, | 2763 | 0xe5570000, |
2774 | 0x000d8180, | 2764 | 0x000d8180, |
2775 | 0xe5171000, | 2765 | 0xe5171000, |
@@ -2797,7 +2787,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2797 | 0x000d8180, | 2787 | 0x000d8180, |
2798 | 0xe1a01006, | 2788 | 0xe1a01006, |
2799 | 0xeb000000, | 2789 | 0xeb000000, |
2800 | 0x0003002a, | 2790 | 0x00030028, |
2801 | 0x0006000d, | 2791 | 0x0006000d, |
2802 | 0xe5189000, | 2792 | 0xe5189000, |
2803 | 0x000d8180, | 2793 | 0x000d8180, |
@@ -2811,13 +2801,13 @@ static const unsigned int build_actionlist[5615] = { | |||
2811 | 0xe004a2ae, | 2801 | 0xe004a2ae, |
2812 | 0xe1a0b82e, | 2802 | 0xe1a0b82e, |
2813 | 0xe12fff1c, | 2803 | 0xe12fff1c, |
2814 | 0x0006008d, | 2804 | 0x0006008f, |
2815 | 0xe5130018, | 2805 | 0xe5130018, |
2816 | 0xe2866004, | 2806 | 0xe2866004, |
2817 | 0xe58d0004, | 2807 | 0xe58d0004, |
2818 | 0xea000000, | 2808 | 0xea000000, |
2819 | 0x0005000e, | 2809 | 0x0005000e, |
2820 | 0x0006008e, | 2810 | 0x00060090, |
2821 | 0x00000000, | 2811 | 0x00000000, |
2822 | 0xe5192008, | 2812 | 0xe5192008, |
2823 | 0xe2470000, | 2813 | 0xe2470000, |
@@ -2836,17 +2826,17 @@ static const unsigned int build_actionlist[5615] = { | |||
2836 | 0xe5082000, | 2826 | 0xe5082000, |
2837 | 0x000d8180, | 2827 | 0x000d8180, |
2838 | 0xeb000000, | 2828 | 0xeb000000, |
2839 | 0x0003002b, | 2829 | 0x00030029, |
2840 | 0xea000000, | 2830 | 0xea000000, |
2841 | 0x0005000d, | 2831 | 0x0005000d, |
2842 | 0x00000000, | 2832 | 0x00000000, |
2843 | 0x0006008f, | 2833 | 0x00060091, |
2844 | 0xe1a01006, | 2834 | 0xe1a01006, |
2845 | 0x00000000, | 2835 | 0x00000000, |
2846 | 0xea000000, | 2836 | 0xea000000, |
2847 | 0x00050001, | 2837 | 0x00050001, |
2848 | 0x00000000, | 2838 | 0x00000000, |
2849 | 0x00060090, | 2839 | 0x00060092, |
2850 | 0x00000000, | 2840 | 0x00000000, |
2851 | 0xe3861001, | 2841 | 0xe3861001, |
2852 | 0x0006000b, | 2842 | 0x0006000b, |
@@ -2860,7 +2850,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2860 | 0xe5083000, | 2850 | 0xe5083000, |
2861 | 0x000d8180, | 2851 | 0x000d8180, |
2862 | 0xeb000000, | 2852 | 0xeb000000, |
2863 | 0x0003002c, | 2853 | 0x0003002a, |
2864 | 0xe5189000, | 2854 | 0xe5189000, |
2865 | 0x000d8180, | 2855 | 0x000d8180, |
2866 | 0xe5183000, | 2856 | 0xe5183000, |
@@ -2872,7 +2862,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2872 | 0xe5192008, | 2862 | 0xe5192008, |
2873 | 0xe516e004, | 2863 | 0xe516e004, |
2874 | 0xe12fff10, | 2864 | 0xe12fff10, |
2875 | 0x00060091, | 2865 | 0x00060093, |
2876 | 0x00000000, | 2866 | 0x00000000, |
2877 | 0xe24dd00c, | 2867 | 0xe24dd00c, |
2878 | 0xe92d1fff, | 2868 | 0xe92d1fff, |
@@ -2909,7 +2899,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2909 | 0x000a0000, | 2899 | 0x000a0000, |
2910 | 0xe1a0100d, | 2900 | 0xe1a0100d, |
2911 | 0xeb000000, | 2901 | 0xeb000000, |
2912 | 0x0003002d, | 2902 | 0x0003002b, |
2913 | 0xe5181000, | 2903 | 0xe5181000, |
2914 | 0x000d8180, | 2904 | 0x000d8180, |
2915 | 0xe5189000, | 2905 | 0xe5189000, |
@@ -2922,7 +2912,7 @@ static const unsigned int build_actionlist[5615] = { | |||
2922 | 0xea000000, | 2912 | 0xea000000, |
2923 | 0x00050001, | 2913 | 0x00050001, |
2924 | 0x00000000, | 2914 | 0x00000000, |
2925 | 0x00060092, | 2915 | 0x00060094, |
2926 | 0x00000000, | 2916 | 0x00000000, |
2927 | 0xe59d800c, | 2917 | 0xe59d800c, |
2928 | 0x0006000b, | 2918 | 0x0006000b, |
@@ -2959,34 +2949,109 @@ static const unsigned int build_actionlist[5615] = { | |||
2959 | 0xe2601000, | 2949 | 0xe2601000, |
2960 | 0xe1a00008, | 2950 | 0xe1a00008, |
2961 | 0xeb000000, | 2951 | 0xeb000000, |
2962 | 0x0003002e, | 2952 | 0x0003002c, |
2963 | 0x00000000, | ||
2964 | 0x00060093, | ||
2965 | 0xea000000, | ||
2966 | 0x0003000f, | ||
2967 | 0x00060094, | ||
2968 | 0xea000000, | ||
2969 | 0x00030010, | ||
2970 | 0x00000000, | 2953 | 0x00000000, |
2954 | 0x00060013, | ||
2955 | 0x3ff00000, | ||
2956 | 0x00060058, | ||
2957 | 0xe1a02081, | ||
2958 | 0xe292c980, | ||
2959 | 0x5a000000, | ||
2960 | 0x00050002, | ||
2961 | 0xe3e03ff3, | ||
2962 | 0xe053cacc, | ||
2963 | 0x312fff1e, | ||
2964 | 0xe3e03001, | ||
2965 | 0xe1c02c13, | ||
2966 | 0xe0000c13, | ||
2967 | 0xe25cc020, | ||
2968 | 0x51c13c13, | ||
2969 | 0x51822003, | ||
2970 | 0x53e03001, | ||
2971 | 0x50011c13, | ||
2972 | 0xe1120fc1, | ||
2973 | 0x012fff1e, | ||
2974 | 0xe3e03001, | ||
2975 | 0xe35c0000, | ||
2976 | 0x51a02c13, | ||
2977 | 0x43e02000, | ||
2978 | 0xe28cc020, | ||
2979 | 0xe0500c13, | ||
2980 | 0xe0c11002, | ||
2981 | 0xe12fff1e, | ||
2982 | 0x0006000c, | ||
2983 | 0xe1822000, | ||
2984 | 0xe1120fc1, | ||
2985 | 0xe3a00000, | ||
2986 | 0xe2011480, | ||
2987 | 0x151f3000, | ||
2988 | 0x00050813, | ||
2989 | 0x11811003, | ||
2990 | 0xe12fff1e, | ||
2991 | 0x0006005a, | ||
2992 | 0xe1a02081, | ||
2993 | 0xe292c980, | ||
2994 | 0x5a000000, | ||
2995 | 0x00050002, | ||
2996 | 0xe3e03ff3, | ||
2997 | 0xe053cacc, | ||
2998 | 0x312fff1e, | ||
2999 | 0xe3e03001, | ||
3000 | 0xe1c02c13, | ||
3001 | 0xe0000c13, | ||
3002 | 0xe25cc020, | ||
3003 | 0x51c13c13, | ||
3004 | 0x51822003, | ||
3005 | 0x53e03001, | ||
3006 | 0x50011c13, | ||
3007 | 0xe1d22fc1, | ||
3008 | 0x012fff1e, | ||
3009 | 0xe3e03001, | ||
3010 | 0xe35c0000, | ||
3011 | 0x51a02c13, | ||
3012 | 0x43e02000, | ||
3013 | 0xe28cc020, | ||
3014 | 0xe0500c13, | ||
3015 | 0xe0c11002, | ||
3016 | 0xe12fff1e, | ||
3017 | 0x0006000c, | ||
3018 | 0xe1822000, | ||
3019 | 0xe1d22fc1, | ||
3020 | 0xe3a00000, | ||
3021 | 0xe2011480, | ||
3022 | 0x151f3000, | ||
3023 | 0x00050813, | ||
3024 | 0x11811003, | ||
3025 | 0xe12fff1e, | ||
2971 | 0x00060095, | 3026 | 0x00060095, |
2972 | 0xea000000, | ||
2973 | 0x0003002f, | ||
2974 | 0x00000000, | 3027 | 0x00000000, |
2975 | 0x00060095, | 3028 | 0xe1a02081, |
3029 | 0xe292c980, | ||
3030 | 0x52011480, | ||
3031 | 0x53a00000, | ||
3032 | 0x512fff1e, | ||
3033 | 0xe3e03ff3, | ||
3034 | 0xe053cacc, | ||
3035 | 0x312fff1e, | ||
3036 | 0xe3e03001, | ||
3037 | 0xe0000c13, | ||
3038 | 0xe25cc020, | ||
3039 | 0x50011c13, | ||
3040 | 0xe12fff1e, | ||
2976 | 0x00000000, | 3041 | 0x00000000, |
2977 | 0x00060096, | 3042 | 0x00060096, |
2978 | 0xe92d401f, | 3043 | 0xe92d401f, |
2979 | 0xeb000000, | 3044 | 0xeb000000, |
2980 | 0x00030030, | 3045 | 0x0003002d, |
2981 | 0xeb000000, | 3046 | 0xeb000000, |
2982 | 0x0003000f, | 3047 | 0x00050058, |
2983 | 0xe1cd20d8, | 3048 | 0xe1cd20d8, |
2984 | 0xeb000000, | 3049 | 0xeb000000, |
2985 | 0x00030021, | 3050 | 0x0003001f, |
2986 | 0xe1cd20d0, | 3051 | 0xe1cd20d0, |
2987 | 0xe2211480, | 3052 | 0xe2211480, |
2988 | 0xeb000000, | 3053 | 0xeb000000, |
2989 | 0x00030031, | 3054 | 0x0003002e, |
2990 | 0xe28dd014, | 3055 | 0xe28dd014, |
2991 | 0xe8bd8000, | 3056 | 0xe8bd8000, |
2992 | 0x00060097, | 3057 | 0x00060097, |
@@ -3026,19 +3091,19 @@ static const unsigned int build_actionlist[5615] = { | |||
3026 | 0xe59dc000, | 3091 | 0xe59dc000, |
3027 | 0xe35c0001, | 3092 | 0xe35c0001, |
3028 | 0x3a000000, | 3093 | 0x3a000000, |
3029 | 0x00030031, | 3094 | 0x0003002e, |
3030 | 0x0a000000, | 3095 | 0x0a000000, |
3031 | 0x00030032, | 3096 | 0x0003002f, |
3032 | 0xe35c0003, | 3097 | 0xe35c0003, |
3033 | 0x3a000000, | 3098 | 0x3a000000, |
3034 | 0x00030021, | 3099 | 0x0003001f, |
3035 | 0x0a000000, | 3100 | 0x0a000000, |
3036 | 0x00030030, | 3101 | 0x0003002d, |
3037 | 0xe35c0005, | 3102 | 0xe35c0005, |
3038 | 0x3a000000, | 3103 | 0x3a000000, |
3039 | 0x00050096, | 3104 | 0x00050096, |
3040 | 0x0a000000, | 3105 | 0x0a000000, |
3041 | 0x0003001e, | 3106 | 0x0003001c, |
3042 | 0xe35c0007, | 3107 | 0xe35c0007, |
3043 | 0x32211480, | 3108 | 0x32211480, |
3044 | 0x03c11480, | 3109 | 0x03c11480, |
@@ -3046,7 +3111,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3046 | 0x00000000, | 3111 | 0x00000000, |
3047 | 0xe35c0009, | 3112 | 0xe35c0009, |
3048 | 0x3a000000, | 3113 | 0x3a000000, |
3049 | 0x0003001f, | 3114 | 0x0003001d, |
3050 | 0x0a000000, | 3115 | 0x0a000000, |
3051 | 0x00050009, | 3116 | 0x00050009, |
3052 | 0xe35c000b, | 3117 | 0xe35c000b, |
@@ -3056,7 +3121,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3056 | 0x0a000000, | 3121 | 0x0a000000, |
3057 | 0x00050001, | 3122 | 0x00050001, |
3058 | 0xeb000000, | 3123 | 0xeb000000, |
3059 | 0x00030026, | 3124 | 0x00030024, |
3060 | 0x81a00002, | 3125 | 0x81a00002, |
3061 | 0x81a01003, | 3126 | 0x81a01003, |
3062 | 0xe8bd8010, | 3127 | 0xe8bd8010, |
@@ -3064,7 +3129,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3064 | 0xe7f001f0, | 3129 | 0xe7f001f0, |
3065 | 0x0006000b, | 3130 | 0x0006000b, |
3066 | 0xeb000000, | 3131 | 0xeb000000, |
3067 | 0x00030026, | 3132 | 0x00030024, |
3068 | 0x31a00002, | 3133 | 0x31a00002, |
3069 | 0x31a01003, | 3134 | 0x31a01003, |
3070 | 0xe8bd8010, | 3135 | 0xe8bd8010, |
@@ -3156,7 +3221,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3156 | 0xe1a0b00a, | 3221 | 0xe1a0b00a, |
3157 | 0xe1a0a00c, | 3222 | 0xe1a0a00c, |
3158 | 0xeb000000, | 3223 | 0xeb000000, |
3159 | 0x00030025, | 3224 | 0x00030023, |
3160 | 0xe1a02000, | 3225 | 0xe1a02000, |
3161 | 0xe1a03001, | 3226 | 0xe1a03001, |
3162 | 0xe1cb00d0, | 3227 | 0xe1cb00d0, |
@@ -3167,11 +3232,11 @@ static const unsigned int build_actionlist[5615] = { | |||
3167 | 0x00050034, | 3232 | 0x00050034, |
3168 | 0xe1a0a00c, | 3233 | 0xe1a0a00c, |
3169 | 0xeb000000, | 3234 | 0xeb000000, |
3170 | 0x00030025, | 3235 | 0x00030023, |
3171 | 0xe1cb20d0, | 3236 | 0xe1cb20d0, |
3172 | 0x0006000f, | 3237 | 0x0006000f, |
3173 | 0xeb000000, | 3238 | 0xeb000000, |
3174 | 0x00030026, | 3239 | 0x00030024, |
3175 | 0x00000000, | 3240 | 0x00000000, |
3176 | 0x324a6b80, | 3241 | 0x324a6b80, |
3177 | 0x00000000, | 3242 | 0x00000000, |
@@ -3364,11 +3429,11 @@ static const unsigned int build_actionlist[5615] = { | |||
3364 | 0x0006000e, | 3429 | 0x0006000e, |
3365 | 0xe1a0a00c, | 3430 | 0xe1a0a00c, |
3366 | 0xeb000000, | 3431 | 0xeb000000, |
3367 | 0x00030025, | 3432 | 0x00030023, |
3368 | 0xe1cb20d0, | 3433 | 0xe1cb20d0, |
3369 | 0x0006000f, | 3434 | 0x0006000f, |
3370 | 0xeb000000, | 3435 | 0xeb000000, |
3371 | 0x00030033, | 3436 | 0x00030030, |
3372 | 0x00000000, | 3437 | 0x00000000, |
3373 | 0x024a6b80, | 3438 | 0x024a6b80, |
3374 | 0x00000000, | 3439 | 0x00000000, |
@@ -3512,7 +3577,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3512 | 0xe1a0b009, | 3577 | 0xe1a0b009, |
3513 | 0x00000000, | 3578 | 0x00000000, |
3514 | 0xeb000000, | 3579 | 0xeb000000, |
3515 | 0x00030028, | 3580 | 0x00030026, |
3516 | 0x00000000, | 3581 | 0x00000000, |
3517 | 0xe1a0900b, | 3582 | 0xe1a0900b, |
3518 | 0x00000000, | 3583 | 0x00000000, |
@@ -3605,7 +3670,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3605 | 0x0005003e, | 3670 | 0x0005003e, |
3606 | 0x00000000, | 3671 | 0x00000000, |
3607 | 0xeb000000, | 3672 | 0xeb000000, |
3608 | 0x00030031, | 3673 | 0x0003002e, |
3609 | 0xe5d6c000, | 3674 | 0xe5d6c000, |
3610 | 0xea000000, | 3675 | 0xea000000, |
3611 | 0x0005000e, | 3676 | 0x0005000e, |
@@ -3696,7 +3761,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3696 | 0x0005003e, | 3761 | 0x0005003e, |
3697 | 0x00000000, | 3762 | 0x00000000, |
3698 | 0xeb000000, | 3763 | 0xeb000000, |
3699 | 0x00030032, | 3764 | 0x0003002f, |
3700 | 0xe5d6c000, | 3765 | 0xe5d6c000, |
3701 | 0xea000000, | 3766 | 0xea000000, |
3702 | 0x0005000e, | 3767 | 0x0005000e, |
@@ -3788,7 +3853,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3788 | 0x0005003e, | 3853 | 0x0005003e, |
3789 | 0x00000000, | 3854 | 0x00000000, |
3790 | 0xeb000000, | 3855 | 0xeb000000, |
3791 | 0x00030021, | 3856 | 0x0003001f, |
3792 | 0xe5d6c000, | 3857 | 0xe5d6c000, |
3793 | 0xea000000, | 3858 | 0xea000000, |
3794 | 0x0005000e, | 3859 | 0x0005000e, |
@@ -3845,7 +3910,7 @@ static const unsigned int build_actionlist[5615] = { | |||
3845 | 0x0005003e, | 3910 | 0x0005003e, |
3846 | 0x00000000, | 3911 | 0x00000000, |
3847 | 0xeb000000, | 3912 | 0xeb000000, |
3848 | 0x00030030, | 3913 | 0x0003002d, |
3849 | 0xe5d6c000, | 3914 | 0xe5d6c000, |
3850 | 0xe496e004, | 3915 | 0xe496e004, |
3851 | 0xe18900fa, | 3916 | 0xe18900fa, |
@@ -3942,13 +4007,8 @@ static const unsigned int build_actionlist[5615] = { | |||
3942 | 0x2a000000, | 4007 | 0x2a000000, |
3943 | 0x0005003e, | 4008 | 0x0005003e, |
3944 | 0x00000000, | 4009 | 0x00000000, |
3945 | 0xe1a0b009, | ||
3946 | 0x00000000, | ||
3947 | 0xeb000000, | 4010 | 0xeb000000, |
3948 | 0x00050096, | 4011 | 0x00050096, |
3949 | 0x00000000, | ||
3950 | 0xe1a0900b, | ||
3951 | 0x00000000, | ||
3952 | 0xea000000, | 4012 | 0xea000000, |
3953 | 0x0005000e, | 4013 | 0x0005000e, |
3954 | 0x00000000, | 4014 | 0x00000000, |
@@ -4006,7 +4066,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4006 | 0xe1a0b009, | 4066 | 0xe1a0b009, |
4007 | 0x00000000, | 4067 | 0x00000000, |
4008 | 0xeb000000, | 4068 | 0xeb000000, |
4009 | 0x0003001e, | 4069 | 0x0003001c, |
4010 | 0x00000000, | 4070 | 0x00000000, |
4011 | 0xe1a0900b, | 4071 | 0xe1a0900b, |
4012 | 0x00000000, | 4072 | 0x00000000, |
@@ -4029,7 +4089,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4029 | 0xe58d6008, | 4089 | 0xe58d6008, |
4030 | 0xe1a021a2, | 4090 | 0xe1a021a2, |
4031 | 0xeb000000, | 4091 | 0xeb000000, |
4032 | 0x00030034, | 4092 | 0x00030031, |
4033 | 0xe5189000, | 4093 | 0xe5189000, |
4034 | 0x000d8180, | 4094 | 0x000d8180, |
4035 | 0xe3500000, | 4095 | 0xe3500000, |
@@ -4178,11 +4238,11 @@ static const unsigned int build_actionlist[5615] = { | |||
4178 | 0x0005000b, | 4238 | 0x0005000b, |
4179 | 0xe1a0b009, | 4239 | 0xe1a0b009, |
4180 | 0xeb000000, | 4240 | 0xeb000000, |
4181 | 0x00030035, | 4241 | 0x00030032, |
4182 | 0xe1a0900b, | 4242 | 0xe1a0900b, |
4183 | 0x00000000, | 4243 | 0x00000000, |
4184 | 0x1b000000, | 4244 | 0x1b000000, |
4185 | 0x00030035, | 4245 | 0x00030032, |
4186 | 0x00000000, | 4246 | 0x00000000, |
4187 | 0xea000000, | 4247 | 0xea000000, |
4188 | 0x0005000b, | 4248 | 0x0005000b, |
@@ -4227,11 +4287,11 @@ static const unsigned int build_actionlist[5615] = { | |||
4227 | 0x0005000b, | 4287 | 0x0005000b, |
4228 | 0xe1a0b009, | 4288 | 0xe1a0b009, |
4229 | 0xeb000000, | 4289 | 0xeb000000, |
4230 | 0x00030035, | 4290 | 0x00030032, |
4231 | 0xe1a0900b, | 4291 | 0xe1a0900b, |
4232 | 0x00000000, | 4292 | 0x00000000, |
4233 | 0x1b000000, | 4293 | 0x1b000000, |
4234 | 0x00030035, | 4294 | 0x00030032, |
4235 | 0x00000000, | 4295 | 0x00000000, |
4236 | 0xea000000, | 4296 | 0xea000000, |
4237 | 0x0005000b, | 4297 | 0x0005000b, |
@@ -4281,7 +4341,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4281 | 0xe1a00008, | 4341 | 0xe1a00008, |
4282 | 0xe089100a, | 4342 | 0xe089100a, |
4283 | 0xeb000000, | 4343 | 0xeb000000, |
4284 | 0x00030036, | 4344 | 0x00030033, |
4285 | 0xe5189000, | 4345 | 0xe5189000, |
4286 | 0x000d8180, | 4346 | 0x000d8180, |
4287 | 0x0006000b, | 4347 | 0x0006000b, |
@@ -4300,7 +4360,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4300 | 0xe5192008, | 4360 | 0xe5192008, |
4301 | 0xe1a00008, | 4361 | 0xe1a00008, |
4302 | 0xeb000000, | 4362 | 0xeb000000, |
4303 | 0x00030037, | 4363 | 0x00030034, |
4304 | 0xe5189000, | 4364 | 0xe5189000, |
4305 | 0x000d8180, | 4365 | 0x000d8180, |
4306 | 0xe3e01000, | 4366 | 0xe3e01000, |
@@ -4335,11 +4395,11 @@ static const unsigned int build_actionlist[5615] = { | |||
4335 | 0xe37b0001, | 4395 | 0xe37b0001, |
4336 | 0x02811002, | 4396 | 0x02811002, |
4337 | 0xeb000000, | 4397 | 0xeb000000, |
4338 | 0x00030038, | 4398 | 0x00030035, |
4339 | 0x00000000, | 4399 | 0x00000000, |
4340 | 0xe795110b, | 4400 | 0xe795110b, |
4341 | 0xeb000000, | 4401 | 0xeb000000, |
4342 | 0x00030039, | 4402 | 0x00030036, |
4343 | 0x00000000, | 4403 | 0x00000000, |
4344 | 0xe5189000, | 4404 | 0xe5189000, |
4345 | 0x000d8180, | 4405 | 0x000d8180, |
@@ -4354,7 +4414,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4354 | 0xe12fff1c, | 4414 | 0xe12fff1c, |
4355 | 0x0006000f, | 4415 | 0x0006000f, |
4356 | 0xeb000000, | 4416 | 0xeb000000, |
4357 | 0x0003003a, | 4417 | 0x00030037, |
4358 | 0xe1a00008, | 4418 | 0xe1a00008, |
4359 | 0xea000000, | 4419 | 0xea000000, |
4360 | 0x0005000b, | 4420 | 0x0005000b, |
@@ -4717,7 +4777,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4717 | 0xe1a0100c, | 4777 | 0xe1a0100c, |
4718 | 0xe58d3004, | 4778 | 0xe58d3004, |
4719 | 0xeb000000, | 4779 | 0xeb000000, |
4720 | 0x0003003b, | 4780 | 0x00030038, |
4721 | 0xe5189000, | 4781 | 0xe5189000, |
4722 | 0x000d8180, | 4782 | 0x000d8180, |
4723 | 0xe18920da, | 4783 | 0xe18920da, |
@@ -4849,7 +4909,7 @@ static const unsigned int build_actionlist[5615] = { | |||
4849 | 0xe1a00008, | 4909 | 0xe1a00008, |
4850 | 0xe58d6008, | 4910 | 0xe58d6008, |
4851 | 0xeb000000, | 4911 | 0xeb000000, |
4852 | 0x0003003c, | 4912 | 0x00030039, |
4853 | 0x00000000, | 4913 | 0x00000000, |
4854 | 0xe5189000, | 4914 | 0xe5189000, |
4855 | 0x000d8180, | 4915 | 0x000d8180, |
@@ -5297,7 +5357,7 @@ static const unsigned int build_actionlist[5615] = { | |||
5297 | 0xe2511001, | 5357 | 0xe2511001, |
5298 | 0xe18710b0, | 5358 | 0xe18710b0, |
5299 | 0x0a000000, | 5359 | 0x0a000000, |
5300 | 0x0005008e, | 5360 | 0x00050090, |
5301 | 0x00000000, | 5361 | 0x00000000, |
5302 | 0xe1aa00d9, | 5362 | 0xe1aa00d9, |
5303 | 0x00000000, | 5363 | 0x00000000, |
@@ -5389,14 +5449,14 @@ static const unsigned int build_actionlist[5615] = { | |||
5389 | 0xba000000, | 5449 | 0xba000000, |
5390 | 0x00050008, | 5450 | 0x00050008, |
5391 | 0xeb000000, | 5451 | 0xeb000000, |
5392 | 0x00030031, | 5452 | 0x0003002e, |
5393 | 0xe1ca00f0, | 5453 | 0xe1ca00f0, |
5394 | 0xe1ca20d8, | 5454 | 0xe1ca20d8, |
5395 | 0xe1ca01f8, | 5455 | 0xe1ca01f8, |
5396 | 0x00000000, | 5456 | 0x00000000, |
5397 | 0x00060010, | 5457 | 0x00060010, |
5398 | 0xeb000000, | 5458 | 0xeb000000, |
5399 | 0x00030026, | 5459 | 0x00030024, |
5400 | 0x00000000, | 5460 | 0x00000000, |
5401 | 0x824b6b80, | 5461 | 0x824b6b80, |
5402 | 0x00000000, | 5462 | 0x00000000, |
@@ -5417,7 +5477,7 @@ static const unsigned int build_actionlist[5615] = { | |||
5417 | 0x00060012, | 5477 | 0x00060012, |
5418 | 0x00000000, | 5478 | 0x00000000, |
5419 | 0xeb000000, | 5479 | 0xeb000000, |
5420 | 0x00030031, | 5480 | 0x0003002e, |
5421 | 0xe1ca00f0, | 5481 | 0xe1ca00f0, |
5422 | 0xe1ca01f8, | 5482 | 0xe1ca01f8, |
5423 | 0x00000000, | 5483 | 0x00000000, |
@@ -5435,7 +5495,7 @@ static const unsigned int build_actionlist[5615] = { | |||
5435 | 0xe2511001, | 5495 | 0xe2511001, |
5436 | 0xe18710b0, | 5496 | 0xe18710b0, |
5437 | 0x0a000000, | 5497 | 0x0a000000, |
5438 | 0x0005008e, | 5498 | 0x00050090, |
5439 | 0x00000000, | 5499 | 0x00000000, |
5440 | 0xe1aa00d9, | 5500 | 0xe1aa00d9, |
5441 | 0x00000000, | 5501 | 0x00000000, |
@@ -5466,7 +5526,7 @@ static const unsigned int build_actionlist[5615] = { | |||
5466 | 0xe2511001, | 5526 | 0xe2511001, |
5467 | 0xe18710b0, | 5527 | 0xe18710b0, |
5468 | 0x0a000000, | 5528 | 0x0a000000, |
5469 | 0x0005008e, | 5529 | 0x00050090, |
5470 | 0x00000000, | 5530 | 0x00000000, |
5471 | 0xe5d6c000, | 5531 | 0xe5d6c000, |
5472 | 0xe496e004, | 5532 | 0xe496e004, |
@@ -5506,7 +5566,7 @@ static const unsigned int build_actionlist[5615] = { | |||
5506 | 0xe2511001, | 5566 | 0xe2511001, |
5507 | 0xe18710b0, | 5567 | 0xe18710b0, |
5508 | 0x0a000000, | 5568 | 0x0a000000, |
5509 | 0x00050090, | 5569 | 0x00050092, |
5510 | 0x00000000, | 5570 | 0x00000000, |
5511 | 0xe5180000, | 5571 | 0xe5180000, |
5512 | 0x000d8180, | 5572 | 0x000d8180, |
@@ -5699,7 +5759,9 @@ enum { | |||
5699 | GLOB_ff_coroutine_wrap_aux, | 5759 | GLOB_ff_coroutine_wrap_aux, |
5700 | GLOB_ff_coroutine_yield, | 5760 | GLOB_ff_coroutine_yield, |
5701 | GLOB_ff_math_floor, | 5761 | GLOB_ff_math_floor, |
5762 | GLOB_vm_floor, | ||
5702 | GLOB_ff_math_ceil, | 5763 | GLOB_ff_math_ceil, |
5764 | GLOB_vm_ceil, | ||
5703 | GLOB_ff_math_abs, | 5765 | GLOB_ff_math_abs, |
5704 | GLOB_fff_res1, | 5766 | GLOB_fff_res1, |
5705 | GLOB_ff_math_sqrt, | 5767 | GLOB_ff_math_sqrt, |
@@ -5758,8 +5820,6 @@ enum { | |||
5758 | GLOB_vm_hotcall, | 5820 | GLOB_vm_hotcall, |
5759 | GLOB_vm_exit_handler, | 5821 | GLOB_vm_exit_handler, |
5760 | GLOB_vm_exit_interp, | 5822 | GLOB_vm_exit_interp, |
5761 | GLOB_vm_floor, | ||
5762 | GLOB_vm_ceil, | ||
5763 | GLOB_vm_trunc, | 5823 | GLOB_vm_trunc, |
5764 | GLOB_vm_mod, | 5824 | GLOB_vm_mod, |
5765 | GLOB_vm_modi, | 5825 | GLOB_vm_modi, |
@@ -5845,7 +5905,9 @@ static const char *const globnames[] = { | |||
5845 | "ff_coroutine_wrap_aux", | 5905 | "ff_coroutine_wrap_aux", |
5846 | "ff_coroutine_yield", | 5906 | "ff_coroutine_yield", |
5847 | "ff_math_floor", | 5907 | "ff_math_floor", |
5908 | "vm_floor", | ||
5848 | "ff_math_ceil", | 5909 | "ff_math_ceil", |
5910 | "vm_ceil", | ||
5849 | "ff_math_abs", | 5911 | "ff_math_abs", |
5850 | "fff_res1", | 5912 | "fff_res1", |
5851 | "ff_math_sqrt", | 5913 | "ff_math_sqrt", |
@@ -5904,8 +5966,6 @@ static const char *const globnames[] = { | |||
5904 | "vm_hotcall", | 5966 | "vm_hotcall", |
5905 | "vm_exit_handler", | 5967 | "vm_exit_handler", |
5906 | "vm_exit_interp", | 5968 | "vm_exit_interp", |
5907 | "vm_floor", | ||
5908 | "vm_ceil", | ||
5909 | "vm_trunc", | 5969 | "vm_trunc", |
5910 | "vm_mod", | 5970 | "vm_mod", |
5911 | "vm_modi", | 5971 | "vm_modi", |
@@ -5938,8 +5998,6 @@ static const char *const extnames[] = { | |||
5938 | "lj_tab_next", | 5998 | "lj_tab_next", |
5939 | "lj_tab_getinth", | 5999 | "lj_tab_getinth", |
5940 | "lj_ffh_coroutine_wrap_err", | 6000 | "lj_ffh_coroutine_wrap_err", |
5941 | "floor", | ||
5942 | "ceil", | ||
5943 | "sqrt", | 6001 | "sqrt", |
5944 | "log", | 6002 | "log", |
5945 | "log10", | 6003 | "log10", |
@@ -5970,7 +6028,6 @@ static const char *const extnames[] = { | |||
5970 | "lj_dispatch_call", | 6028 | "lj_dispatch_call", |
5971 | "lj_trace_exit", | 6029 | "lj_trace_exit", |
5972 | "lj_err_throw", | 6030 | "lj_err_throw", |
5973 | "trunc", | ||
5974 | "__aeabi_ddiv", | 6031 | "__aeabi_ddiv", |
5975 | "__aeabi_dadd", | 6032 | "__aeabi_dadd", |
5976 | "__aeabi_dsub", | 6033 | "__aeabi_dsub", |
@@ -6116,242 +6173,226 @@ static void build_subroutines(BuildCtx *ctx) | |||
6116 | dasm_put(Dst, 1231, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD); | 6173 | dasm_put(Dst, 1231, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD); |
6117 | dasm_put(Dst, 1287, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top)); | 6174 | dasm_put(Dst, 1287, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top)); |
6118 | dasm_put(Dst, 1346, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); | 6175 | dasm_put(Dst, 1346, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); |
6176 | dasm_put(Dst, 1412, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); | ||
6177 | dasm_put(Dst, 1476, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL); | ||
6178 | dasm_put(Dst, 1540, -LJ_TISNUM); | ||
6119 | if (LJ_TARGET_OSX) { | 6179 | if (LJ_TARGET_OSX) { |
6120 | dasm_put(Dst, 1412); | 6180 | dasm_put(Dst, 1545); |
6121 | } | ||
6122 | dasm_put(Dst, 1414); | ||
6123 | if (LJ_TARGET_OSX) { | ||
6124 | dasm_put(Dst, 1417); | ||
6125 | } | ||
6126 | dasm_put(Dst, 1419, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM); | ||
6127 | if (LJ_TARGET_OSX) { | ||
6128 | dasm_put(Dst, 1479); | ||
6129 | } | ||
6130 | dasm_put(Dst, 1481); | ||
6131 | if (LJ_TARGET_OSX) { | ||
6132 | dasm_put(Dst, 1484); | ||
6133 | } | ||
6134 | dasm_put(Dst, 1486, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL); | ||
6135 | dasm_put(Dst, 1550, -LJ_TISNUM); | ||
6136 | if (LJ_TARGET_OSX) { | ||
6137 | dasm_put(Dst, 1555); | ||
6138 | } | 6181 | } |
6139 | dasm_put(Dst, 1557); | 6182 | dasm_put(Dst, 1547); |
6140 | if (LJ_TARGET_OSX) { | 6183 | if (LJ_TARGET_OSX) { |
6141 | dasm_put(Dst, 1560); | 6184 | dasm_put(Dst, 1550); |
6142 | } | 6185 | } |
6143 | dasm_put(Dst, 1562, -LJ_TISNUM); | 6186 | dasm_put(Dst, 1552, -LJ_TISNUM); |
6144 | if (LJ_TARGET_OSX) { | 6187 | if (LJ_TARGET_OSX) { |
6145 | dasm_put(Dst, 1574); | 6188 | dasm_put(Dst, 1564); |
6146 | } | 6189 | } |
6147 | dasm_put(Dst, 1576); | 6190 | dasm_put(Dst, 1566); |
6148 | if (LJ_TARGET_OSX) { | 6191 | if (LJ_TARGET_OSX) { |
6149 | dasm_put(Dst, 1579); | 6192 | dasm_put(Dst, 1569); |
6150 | } | 6193 | } |
6151 | dasm_put(Dst, 1581, -LJ_TISNUM); | 6194 | dasm_put(Dst, 1571, -LJ_TISNUM); |
6152 | if (LJ_TARGET_OSX) { | 6195 | if (LJ_TARGET_OSX) { |
6153 | dasm_put(Dst, 1593); | 6196 | dasm_put(Dst, 1583); |
6154 | } | 6197 | } |
6155 | dasm_put(Dst, 1595); | 6198 | dasm_put(Dst, 1585); |
6156 | if (LJ_TARGET_OSX) { | 6199 | if (LJ_TARGET_OSX) { |
6157 | dasm_put(Dst, 1598); | 6200 | dasm_put(Dst, 1588); |
6158 | } | 6201 | } |
6159 | dasm_put(Dst, 1600, -LJ_TISNUM); | 6202 | dasm_put(Dst, 1590, -LJ_TISNUM); |
6160 | if (LJ_TARGET_OSX) { | 6203 | if (LJ_TARGET_OSX) { |
6161 | dasm_put(Dst, 1612); | 6204 | dasm_put(Dst, 1602); |
6162 | } | 6205 | } |
6163 | dasm_put(Dst, 1614); | 6206 | dasm_put(Dst, 1604); |
6164 | if (LJ_TARGET_OSX) { | 6207 | if (LJ_TARGET_OSX) { |
6165 | dasm_put(Dst, 1617); | 6208 | dasm_put(Dst, 1607); |
6166 | } | 6209 | } |
6167 | dasm_put(Dst, 1619, -LJ_TISNUM); | 6210 | dasm_put(Dst, 1609, -LJ_TISNUM); |
6168 | if (LJ_TARGET_OSX) { | 6211 | if (LJ_TARGET_OSX) { |
6169 | dasm_put(Dst, 1631); | 6212 | dasm_put(Dst, 1621); |
6170 | } | 6213 | } |
6171 | dasm_put(Dst, 1633); | 6214 | dasm_put(Dst, 1623); |
6172 | if (LJ_TARGET_OSX) { | 6215 | if (LJ_TARGET_OSX) { |
6173 | dasm_put(Dst, 1636); | 6216 | dasm_put(Dst, 1626); |
6174 | } | 6217 | } |
6175 | dasm_put(Dst, 1638, -LJ_TISNUM); | 6218 | dasm_put(Dst, 1628, -LJ_TISNUM); |
6176 | if (LJ_TARGET_OSX) { | 6219 | if (LJ_TARGET_OSX) { |
6177 | dasm_put(Dst, 1650); | 6220 | dasm_put(Dst, 1640); |
6178 | } | 6221 | } |
6179 | dasm_put(Dst, 1652); | 6222 | dasm_put(Dst, 1642); |
6180 | if (LJ_TARGET_OSX) { | 6223 | if (LJ_TARGET_OSX) { |
6181 | dasm_put(Dst, 1655); | 6224 | dasm_put(Dst, 1645); |
6182 | } | 6225 | } |
6183 | dasm_put(Dst, 1657, -LJ_TISNUM); | 6226 | dasm_put(Dst, 1647, -LJ_TISNUM); |
6184 | if (LJ_TARGET_OSX) { | 6227 | if (LJ_TARGET_OSX) { |
6185 | dasm_put(Dst, 1669); | 6228 | dasm_put(Dst, 1659); |
6186 | } | 6229 | } |
6187 | dasm_put(Dst, 1671); | 6230 | dasm_put(Dst, 1661); |
6188 | if (LJ_TARGET_OSX) { | 6231 | if (LJ_TARGET_OSX) { |
6189 | dasm_put(Dst, 1674); | 6232 | dasm_put(Dst, 1664); |
6190 | } | 6233 | } |
6191 | dasm_put(Dst, 1676, -LJ_TISNUM); | 6234 | dasm_put(Dst, 1666, -LJ_TISNUM); |
6192 | if (LJ_TARGET_OSX) { | 6235 | if (LJ_TARGET_OSX) { |
6193 | dasm_put(Dst, 1688); | 6236 | dasm_put(Dst, 1678); |
6194 | } | 6237 | } |
6195 | dasm_put(Dst, 1690); | 6238 | dasm_put(Dst, 1680); |
6196 | if (LJ_TARGET_OSX) { | 6239 | if (LJ_TARGET_OSX) { |
6197 | dasm_put(Dst, 1693); | 6240 | dasm_put(Dst, 1683); |
6198 | } | 6241 | } |
6199 | dasm_put(Dst, 1695, -LJ_TISNUM); | 6242 | dasm_put(Dst, 1685, -LJ_TISNUM); |
6200 | if (LJ_TARGET_OSX) { | 6243 | if (LJ_TARGET_OSX) { |
6201 | dasm_put(Dst, 1707); | 6244 | dasm_put(Dst, 1697); |
6202 | } | 6245 | } |
6203 | dasm_put(Dst, 1709); | 6246 | dasm_put(Dst, 1699); |
6204 | if (LJ_TARGET_OSX) { | 6247 | if (LJ_TARGET_OSX) { |
6205 | dasm_put(Dst, 1712); | 6248 | dasm_put(Dst, 1702); |
6206 | } | 6249 | } |
6207 | dasm_put(Dst, 1714, -LJ_TISNUM); | 6250 | dasm_put(Dst, 1704, -LJ_TISNUM); |
6208 | if (LJ_TARGET_OSX) { | 6251 | if (LJ_TARGET_OSX) { |
6209 | dasm_put(Dst, 1726); | 6252 | dasm_put(Dst, 1716); |
6210 | } | 6253 | } |
6211 | dasm_put(Dst, 1728); | 6254 | dasm_put(Dst, 1718); |
6212 | if (LJ_TARGET_OSX) { | 6255 | if (LJ_TARGET_OSX) { |
6213 | dasm_put(Dst, 1731); | 6256 | dasm_put(Dst, 1721); |
6214 | } | 6257 | } |
6215 | dasm_put(Dst, 1733, -LJ_TISNUM); | 6258 | dasm_put(Dst, 1723, -LJ_TISNUM); |
6216 | if (LJ_TARGET_OSX) { | 6259 | if (LJ_TARGET_OSX) { |
6217 | dasm_put(Dst, 1745); | 6260 | dasm_put(Dst, 1735); |
6218 | } | 6261 | } |
6219 | dasm_put(Dst, 1747); | 6262 | dasm_put(Dst, 1737); |
6220 | if (LJ_TARGET_OSX) { | 6263 | if (LJ_TARGET_OSX) { |
6221 | dasm_put(Dst, 1750); | 6264 | dasm_put(Dst, 1740); |
6222 | } | 6265 | } |
6223 | dasm_put(Dst, 1752, -LJ_TISNUM); | 6266 | dasm_put(Dst, 1742, -LJ_TISNUM); |
6224 | if (LJ_TARGET_OSX) { | 6267 | if (LJ_TARGET_OSX) { |
6225 | dasm_put(Dst, 1764); | 6268 | dasm_put(Dst, 1754); |
6226 | } | 6269 | } |
6227 | dasm_put(Dst, 1766); | 6270 | dasm_put(Dst, 1756); |
6228 | if (LJ_TARGET_OSX) { | 6271 | if (LJ_TARGET_OSX) { |
6229 | dasm_put(Dst, 1769); | 6272 | dasm_put(Dst, 1759); |
6230 | } | 6273 | } |
6231 | dasm_put(Dst, 1771, -LJ_TISNUM); | 6274 | dasm_put(Dst, 1761, -LJ_TISNUM); |
6232 | if (LJ_TARGET_OSX) { | 6275 | if (LJ_TARGET_OSX) { |
6233 | dasm_put(Dst, 1783); | 6276 | dasm_put(Dst, 1773); |
6234 | } | 6277 | } |
6235 | dasm_put(Dst, 1785); | 6278 | dasm_put(Dst, 1775); |
6236 | if (LJ_TARGET_OSX) { | 6279 | if (LJ_TARGET_OSX) { |
6237 | dasm_put(Dst, 1788); | 6280 | dasm_put(Dst, 1778); |
6238 | } | 6281 | } |
6239 | dasm_put(Dst, 1790, -LJ_TISNUM, -LJ_TISNUM); | 6282 | dasm_put(Dst, 1780, -LJ_TISNUM, -LJ_TISNUM); |
6240 | if (LJ_TARGET_OSX) { | 6283 | if (LJ_TARGET_OSX) { |
6241 | dasm_put(Dst, 1805); | 6284 | dasm_put(Dst, 1795); |
6242 | } | 6285 | } |
6243 | dasm_put(Dst, 1807); | 6286 | dasm_put(Dst, 1797); |
6244 | if (LJ_TARGET_OSX) { | 6287 | if (LJ_TARGET_OSX) { |
6245 | dasm_put(Dst, 1810); | 6288 | dasm_put(Dst, 1800); |
6246 | } | 6289 | } |
6247 | dasm_put(Dst, 1812, -LJ_TISNUM, -LJ_TISNUM); | 6290 | dasm_put(Dst, 1802, -LJ_TISNUM, -LJ_TISNUM); |
6248 | if (LJ_TARGET_OSX) { | 6291 | if (LJ_TARGET_OSX) { |
6249 | dasm_put(Dst, 1827); | 6292 | dasm_put(Dst, 1817); |
6250 | } | 6293 | } |
6251 | dasm_put(Dst, 1829); | 6294 | dasm_put(Dst, 1819); |
6252 | if (LJ_TARGET_OSX) { | 6295 | if (LJ_TARGET_OSX) { |
6253 | dasm_put(Dst, 1832); | 6296 | dasm_put(Dst, 1822); |
6254 | } | 6297 | } |
6255 | dasm_put(Dst, 1834, -LJ_TISNUM, -LJ_TISNUM); | 6298 | dasm_put(Dst, 1824, -LJ_TISNUM, -LJ_TISNUM); |
6256 | if (LJ_TARGET_OSX) { | 6299 | if (LJ_TARGET_OSX) { |
6257 | dasm_put(Dst, 1849); | 6300 | dasm_put(Dst, 1839); |
6258 | } | 6301 | } |
6259 | dasm_put(Dst, 1851); | 6302 | dasm_put(Dst, 1841); |
6260 | if (LJ_TARGET_OSX) { | 6303 | if (LJ_TARGET_OSX) { |
6261 | dasm_put(Dst, 1854); | 6304 | dasm_put(Dst, 1844); |
6262 | } | 6305 | } |
6263 | dasm_put(Dst, 1856, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM); | 6306 | dasm_put(Dst, 1846, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM); |
6264 | if (LJ_TARGET_OSX) { | 6307 | if (LJ_TARGET_OSX) { |
6265 | dasm_put(Dst, 1889); | 6308 | dasm_put(Dst, 1879); |
6266 | } | 6309 | } |
6267 | dasm_put(Dst, 1891); | 6310 | dasm_put(Dst, 1881); |
6268 | if (LJ_TARGET_OSX) { | 6311 | if (LJ_TARGET_OSX) { |
6269 | dasm_put(Dst, 1894); | 6312 | dasm_put(Dst, 1884); |
6270 | } | 6313 | } |
6271 | dasm_put(Dst, 1896, -LJ_TISNUM); | 6314 | dasm_put(Dst, 1886, -LJ_TISNUM); |
6272 | if (LJ_TARGET_OSX) { | 6315 | if (LJ_TARGET_OSX) { |
6273 | dasm_put(Dst, 1909); | 6316 | dasm_put(Dst, 1899); |
6274 | } | 6317 | } |
6275 | dasm_put(Dst, 1911); | 6318 | dasm_put(Dst, 1901); |
6276 | if (LJ_TARGET_OSX) { | 6319 | if (LJ_TARGET_OSX) { |
6277 | dasm_put(Dst, 1914); | 6320 | dasm_put(Dst, 1904); |
6278 | } | 6321 | } |
6279 | dasm_put(Dst, 1916, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM); | 6322 | dasm_put(Dst, 1906, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM); |
6280 | if (LJ_TARGET_OSX) { | 6323 | if (LJ_TARGET_OSX) { |
6281 | dasm_put(Dst, 1938); | 6324 | dasm_put(Dst, 1928); |
6282 | } | 6325 | } |
6283 | dasm_put(Dst, 1940); | 6326 | dasm_put(Dst, 1930); |
6284 | if (LJ_TARGET_OSX) { | 6327 | if (LJ_TARGET_OSX) { |
6285 | dasm_put(Dst, 1943); | 6328 | dasm_put(Dst, 1933); |
6286 | } | 6329 | } |
6287 | dasm_put(Dst, 1945, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); | 6330 | dasm_put(Dst, 1935, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); |
6288 | dasm_put(Dst, 1996, -LJ_TISNUM, -LJ_TISNUM); | 6331 | dasm_put(Dst, 1986, -LJ_TISNUM, -LJ_TISNUM); |
6289 | dasm_put(Dst, 2050, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1])); | 6332 | dasm_put(Dst, 2040, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1])); |
6290 | dasm_put(Dst, 2104, ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 6333 | dasm_put(Dst, 2094, ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
6291 | dasm_put(Dst, 2163, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len)); | 6334 | dasm_put(Dst, 2153, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len)); |
6292 | dasm_put(Dst, 2225, DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr)); | 6335 | dasm_put(Dst, 2215, DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr)); |
6293 | dasm_put(Dst, 2278, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); | 6336 | dasm_put(Dst, 2268, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold)); |
6294 | dasm_put(Dst, 2338, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB); | 6337 | dasm_put(Dst, 2328, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB); |
6295 | if (LJ_TARGET_OSX) { | 6338 | if (LJ_TARGET_OSX) { |
6296 | dasm_put(Dst, 2376); | 6339 | dasm_put(Dst, 2366); |
6297 | } | 6340 | } |
6298 | dasm_put(Dst, 2378); | 6341 | dasm_put(Dst, 2368); |
6299 | if (LJ_TARGET_OSX) { | 6342 | if (LJ_TARGET_OSX) { |
6300 | dasm_put(Dst, 2381); | 6343 | dasm_put(Dst, 2371); |
6301 | } | 6344 | } |
6302 | dasm_put(Dst, 2383, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); | 6345 | dasm_put(Dst, 2373, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); |
6303 | dasm_put(Dst, 2454, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); | 6346 | dasm_put(Dst, 2444, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); |
6304 | dasm_put(Dst, 2514, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM); | 6347 | dasm_put(Dst, 2504, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM); |
6305 | dasm_put(Dst, 2570, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); | 6348 | dasm_put(Dst, 2560, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM); |
6306 | dasm_put(Dst, 2627, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP); | 6349 | dasm_put(Dst, 2617, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP); |
6307 | dasm_put(Dst, 2690, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base)); | 6350 | dasm_put(Dst, 2680, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base)); |
6308 | #if LJ_HASJIT | 6351 | #if LJ_HASJIT |
6309 | dasm_put(Dst, 2724, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); | 6352 | dasm_put(Dst, 2714, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount)); |
6310 | #endif | 6353 | #endif |
6311 | dasm_put(Dst, 2744, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base)); | 6354 | dasm_put(Dst, 2734, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base)); |
6312 | dasm_put(Dst, 2790, GG_DISP2STATIC); | 6355 | dasm_put(Dst, 2780, GG_DISP2STATIC); |
6313 | #if LJ_HASJIT | 6356 | #if LJ_HASJIT |
6314 | dasm_put(Dst, 2806, -GG_DISP2J, Dt7(->field_pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), Dt1(->top)); | 6357 | dasm_put(Dst, 2796, -GG_DISP2J, Dt7(->field_pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), Dt1(->top)); |
6315 | #endif | 6358 | #endif |
6316 | dasm_put(Dst, 2827); | 6359 | dasm_put(Dst, 2817); |
6317 | #if LJ_HASJIT | 6360 | #if LJ_HASJIT |
6318 | dasm_put(Dst, 2830); | 6361 | dasm_put(Dst, 2820); |
6319 | #endif | 6362 | #endif |
6320 | dasm_put(Dst, 2833); | 6363 | dasm_put(Dst, 2823); |
6321 | #if LJ_HASJIT | 6364 | #if LJ_HASJIT |
6322 | dasm_put(Dst, 2835); | 6365 | dasm_put(Dst, 2825); |
6323 | #endif | 6366 | #endif |
6324 | dasm_put(Dst, 2838, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); | 6367 | dasm_put(Dst, 2828, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top)); |
6325 | #if LJ_HASJIT | 6368 | #if LJ_HASJIT |
6326 | dasm_put(Dst, 2861, LJ_VMST_EXIT, DISPATCH_GL(vmstate), DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(exitno), DISPATCH_J(L), Dt1(->base), DISPATCH_GL(jit_L), -GG_DISP2J, Dt1(->cframe), Dt1(->base), ~CFRAME_RAWMASK); | 6369 | dasm_put(Dst, 2851, LJ_VMST_EXIT, DISPATCH_GL(vmstate), DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(exitno), DISPATCH_J(L), Dt1(->base), DISPATCH_GL(jit_L), -GG_DISP2J, Dt1(->cframe), Dt1(->base), ~CFRAME_RAWMASK); |
6327 | #endif | 6370 | #endif |
6328 | dasm_put(Dst, 2909); | 6371 | dasm_put(Dst, 2899); |
6329 | #if LJ_HASJIT | 6372 | #if LJ_HASJIT |
6330 | dasm_put(Dst, 2911, Dt7(->field_pc), DISPATCH_GL(jit_L), LJ_VMST_INTERP, PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF); | 6373 | dasm_put(Dst, 2901, Dt7(->field_pc), DISPATCH_GL(jit_L), LJ_VMST_INTERP, PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF); |
6331 | #endif | 6374 | #endif |
6332 | dasm_put(Dst, 2948); | 6375 | dasm_put(Dst, 2938); |
6333 | #if LJ_HASJIT | 6376 | #if LJ_HASJIT |
6334 | dasm_put(Dst, 2955); | 6377 | dasm_put(Dst, 3012); |
6335 | #else | ||
6336 | dasm_put(Dst, 2959); | ||
6337 | #endif | 6378 | #endif |
6338 | dasm_put(Dst, 2961); | 6379 | dasm_put(Dst, 3026); |
6339 | { | 6380 | { |
6340 | int i; | 6381 | int i; |
6341 | for (i = 31; i >= 0; i--) { | 6382 | for (i = 31; i >= 0; i--) { |
6342 | dasm_put(Dst, 2997, i, i); | 6383 | dasm_put(Dst, 3062, i, i); |
6343 | } | 6384 | } |
6344 | } | 6385 | } |
6345 | dasm_put(Dst, 3002); | 6386 | dasm_put(Dst, 3067); |
6346 | #if LJ_HASJIT | 6387 | #if LJ_HASJIT |
6347 | dasm_put(Dst, 3031); | 6388 | dasm_put(Dst, 3096); |
6348 | #else | 6389 | #else |
6349 | dasm_put(Dst, 3056); | 6390 | dasm_put(Dst, 3121); |
6350 | #endif | 6391 | #endif |
6351 | dasm_put(Dst, 3058); | 6392 | dasm_put(Dst, 3123); |
6352 | #if LJ_HASFFI | 6393 | #if LJ_HASFFI |
6353 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) | 6394 | #define DtE(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V) |
6354 | dasm_put(Dst, 3060, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[0]), DtE(->gpr[1])); | 6395 | dasm_put(Dst, 3125, DtE(->spadj), DtE(->nsp), offsetof(CCallState, stack), DtE(->func), DtE(->gpr[0]), DtE(->gpr[1]), DtE(->gpr[2]), DtE(->gpr[3]), DtE(->gpr[0]), DtE(->gpr[1])); |
6355 | #endif | 6396 | #endif |
6356 | } | 6397 | } |
6357 | 6398 | ||
@@ -6359,7 +6400,7 @@ static void build_subroutines(BuildCtx *ctx) | |||
6359 | static void build_ins(BuildCtx *ctx, BCOp op, int defop) | 6400 | static void build_ins(BuildCtx *ctx, BCOp op, int defop) |
6360 | { | 6401 | { |
6361 | int vk = 0; | 6402 | int vk = 0; |
6362 | dasm_put(Dst, 3098, defop); | 6403 | dasm_put(Dst, 3163, defop); |
6363 | 6404 | ||
6364 | switch (op) { | 6405 | switch (op) { |
6365 | 6406 | ||
@@ -6368,578 +6409,571 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
6368 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ | 6409 | /* Remember: all ops branch for a true comparison, fall through otherwise. */ |
6369 | 6410 | ||
6370 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: | 6411 | case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT: |
6371 | dasm_put(Dst, 3100, -LJ_TISNUM, -LJ_TISNUM); | 6412 | dasm_put(Dst, 3165, -LJ_TISNUM, -LJ_TISNUM); |
6372 | if (op == BC_ISLT) { | 6413 | if (op == BC_ISLT) { |
6373 | dasm_put(Dst, 3116); | 6414 | dasm_put(Dst, 3181); |
6374 | } else if (op == BC_ISGE) { | 6415 | } else if (op == BC_ISGE) { |
6375 | dasm_put(Dst, 3118); | 6416 | dasm_put(Dst, 3183); |
6376 | } else if (op == BC_ISLE) { | 6417 | } else if (op == BC_ISLE) { |
6377 | dasm_put(Dst, 3120); | 6418 | dasm_put(Dst, 3185); |
6378 | } else { | 6419 | } else { |
6379 | dasm_put(Dst, 3122); | 6420 | dasm_put(Dst, 3187); |
6380 | } | 6421 | } |
6381 | dasm_put(Dst, 3124, -LJ_TISNUM); | 6422 | dasm_put(Dst, 3189, -LJ_TISNUM); |
6382 | if (op == BC_ISLT) { | 6423 | if (op == BC_ISLT) { |
6383 | dasm_put(Dst, 3160); | 6424 | dasm_put(Dst, 3225); |
6384 | } else if (op == BC_ISGE) { | 6425 | } else if (op == BC_ISGE) { |
6385 | dasm_put(Dst, 3162); | 6426 | dasm_put(Dst, 3227); |
6386 | } else if (op == BC_ISLE) { | 6427 | } else if (op == BC_ISLE) { |
6387 | dasm_put(Dst, 3164); | 6428 | dasm_put(Dst, 3229); |
6388 | } else { | 6429 | } else { |
6389 | dasm_put(Dst, 3166); | 6430 | dasm_put(Dst, 3231); |
6390 | } | 6431 | } |
6391 | dasm_put(Dst, 3168); | 6432 | dasm_put(Dst, 3233); |
6392 | break; | 6433 | break; |
6393 | 6434 | ||
6394 | case BC_ISEQV: case BC_ISNEV: | 6435 | case BC_ISEQV: case BC_ISNEV: |
6395 | vk = op == BC_ISEQV; | 6436 | vk = op == BC_ISEQV; |
6396 | dasm_put(Dst, 3171, -LJ_TISNUM, -LJ_TISNUM); | 6437 | dasm_put(Dst, 3236, -LJ_TISNUM, -LJ_TISNUM); |
6397 | if (vk) { | 6438 | if (vk) { |
6398 | dasm_put(Dst, 3182); | 6439 | dasm_put(Dst, 3247); |
6399 | } else { | 6440 | } else { |
6400 | dasm_put(Dst, 3185); | 6441 | dasm_put(Dst, 3250); |
6401 | } | 6442 | } |
6402 | if (LJ_HASFFI) { | 6443 | if (LJ_HASFFI) { |
6403 | dasm_put(Dst, 3188, -LJ_TCDATA, -LJ_TCDATA); | 6444 | dasm_put(Dst, 3253, -LJ_TCDATA, -LJ_TCDATA); |
6404 | } | 6445 | } |
6405 | dasm_put(Dst, 3195, -LJ_TISPRI); | 6446 | dasm_put(Dst, 3260, -LJ_TISPRI); |
6406 | if (vk) { | 6447 | if (vk) { |
6407 | dasm_put(Dst, 3204, -LJ_TISTABUD); | 6448 | dasm_put(Dst, 3269, -LJ_TISTABUD); |
6408 | } else { | 6449 | } else { |
6409 | dasm_put(Dst, 3221, -LJ_TISTABUD); | 6450 | dasm_put(Dst, 3286, -LJ_TISTABUD); |
6410 | } | 6451 | } |
6411 | dasm_put(Dst, 3228, Dt6(->metatable)); | 6452 | dasm_put(Dst, 3293, Dt6(->metatable)); |
6412 | if (vk) { | 6453 | if (vk) { |
6413 | dasm_put(Dst, 3232); | 6454 | dasm_put(Dst, 3297); |
6414 | } else { | 6455 | } else { |
6415 | dasm_put(Dst, 3235); | 6456 | dasm_put(Dst, 3300); |
6416 | } | 6457 | } |
6417 | dasm_put(Dst, 3238, Dt6(->nomm), 1-vk, 1<<MM_eq); | 6458 | dasm_put(Dst, 3303, Dt6(->nomm), 1-vk, 1<<MM_eq); |
6418 | if (vk) { | 6459 | if (vk) { |
6419 | dasm_put(Dst, 3248); | 6460 | dasm_put(Dst, 3313); |
6420 | } else { | 6461 | } else { |
6421 | dasm_put(Dst, 3251); | 6462 | dasm_put(Dst, 3316); |
6422 | } | 6463 | } |
6423 | break; | 6464 | break; |
6424 | 6465 | ||
6425 | case BC_ISEQS: case BC_ISNES: | 6466 | case BC_ISEQS: case BC_ISNES: |
6426 | vk = op == BC_ISEQS; | 6467 | vk = op == BC_ISEQS; |
6427 | dasm_put(Dst, 3261, -LJ_TSTR); | 6468 | dasm_put(Dst, 3326, -LJ_TSTR); |
6428 | if (LJ_HASFFI) { | 6469 | if (LJ_HASFFI) { |
6429 | dasm_put(Dst, 3270); | 6470 | dasm_put(Dst, 3335); |
6430 | } else { | 6471 | } else { |
6431 | dasm_put(Dst, 3274); | 6472 | dasm_put(Dst, 3339); |
6432 | } | 6473 | } |
6433 | if (vk) { | 6474 | if (vk) { |
6434 | dasm_put(Dst, 3276); | 6475 | dasm_put(Dst, 3341); |
6435 | } else { | 6476 | } else { |
6436 | dasm_put(Dst, 3279); | 6477 | dasm_put(Dst, 3344); |
6437 | } | 6478 | } |
6438 | dasm_put(Dst, 3282); | 6479 | dasm_put(Dst, 3347); |
6439 | if (LJ_HASFFI) { | 6480 | if (LJ_HASFFI) { |
6440 | dasm_put(Dst, 3289, -LJ_TCDATA); | 6481 | dasm_put(Dst, 3354, -LJ_TCDATA); |
6441 | } | 6482 | } |
6442 | break; | 6483 | break; |
6443 | 6484 | ||
6444 | case BC_ISEQN: case BC_ISNEN: | 6485 | case BC_ISEQN: case BC_ISNEN: |
6445 | vk = op == BC_ISEQN; | 6486 | vk = op == BC_ISEQN; |
6446 | dasm_put(Dst, 3297); | 6487 | dasm_put(Dst, 3362); |
6447 | if (vk) { | 6488 | if (vk) { |
6448 | dasm_put(Dst, 3304); | 6489 | dasm_put(Dst, 3369); |
6449 | } else { | 6490 | } else { |
6450 | dasm_put(Dst, 3306); | 6491 | dasm_put(Dst, 3371); |
6451 | } | 6492 | } |
6452 | dasm_put(Dst, 3308, -LJ_TISNUM, -LJ_TISNUM); | 6493 | dasm_put(Dst, 3373, -LJ_TISNUM, -LJ_TISNUM); |
6453 | if (vk) { | 6494 | if (vk) { |
6454 | dasm_put(Dst, 3318); | 6495 | dasm_put(Dst, 3383); |
6455 | } else { | 6496 | } else { |
6456 | dasm_put(Dst, 3321); | 6497 | dasm_put(Dst, 3386); |
6457 | } | 6498 | } |
6458 | dasm_put(Dst, 3324); | 6499 | dasm_put(Dst, 3389); |
6459 | if (LJ_HASFFI) { | 6500 | if (LJ_HASFFI) { |
6460 | dasm_put(Dst, 3333); | 6501 | dasm_put(Dst, 3398); |
6461 | } else { | 6502 | } else { |
6462 | if (!vk) { | 6503 | if (!vk) { |
6463 | dasm_put(Dst, 3336); | 6504 | dasm_put(Dst, 3401); |
6464 | } | 6505 | } |
6465 | dasm_put(Dst, 3338); | 6506 | dasm_put(Dst, 3403); |
6466 | } | 6507 | } |
6467 | dasm_put(Dst, 3341, -LJ_TISNUM); | 6508 | dasm_put(Dst, 3406, -LJ_TISNUM); |
6468 | if (vk) { | 6509 | if (vk) { |
6469 | dasm_put(Dst, 3357); | 6510 | dasm_put(Dst, 3422); |
6470 | } else { | 6511 | } else { |
6471 | dasm_put(Dst, 3359); | 6512 | dasm_put(Dst, 3424); |
6472 | } | 6513 | } |
6473 | dasm_put(Dst, 3361); | 6514 | dasm_put(Dst, 3426); |
6474 | if (LJ_HASFFI) { | 6515 | if (LJ_HASFFI) { |
6475 | dasm_put(Dst, 3364, -LJ_TCDATA); | 6516 | dasm_put(Dst, 3429, -LJ_TCDATA); |
6476 | } | 6517 | } |
6477 | break; | 6518 | break; |
6478 | 6519 | ||
6479 | case BC_ISEQP: case BC_ISNEP: | 6520 | case BC_ISEQP: case BC_ISNEP: |
6480 | vk = op == BC_ISEQP; | 6521 | vk = op == BC_ISEQP; |
6481 | dasm_put(Dst, 3372); | 6522 | dasm_put(Dst, 3437); |
6482 | if (LJ_HASFFI) { | 6523 | if (LJ_HASFFI) { |
6483 | dasm_put(Dst, 3378, -LJ_TCDATA); | 6524 | dasm_put(Dst, 3443, -LJ_TCDATA); |
6484 | } | 6525 | } |
6485 | dasm_put(Dst, 3383); | 6526 | dasm_put(Dst, 3448); |
6486 | if (vk) { | 6527 | if (vk) { |
6487 | dasm_put(Dst, 3385); | 6528 | dasm_put(Dst, 3450); |
6488 | } else { | 6529 | } else { |
6489 | dasm_put(Dst, 3387); | 6530 | dasm_put(Dst, 3452); |
6490 | } | 6531 | } |
6491 | dasm_put(Dst, 3389); | 6532 | dasm_put(Dst, 3454); |
6492 | break; | 6533 | break; |
6493 | 6534 | ||
6494 | /* -- Unary test and copy ops ------------------------------------------- */ | 6535 | /* -- Unary test and copy ops ------------------------------------------- */ |
6495 | 6536 | ||
6496 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: | 6537 | case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF: |
6497 | dasm_put(Dst, 3396, -LJ_TTRUE); | 6538 | dasm_put(Dst, 3461, -LJ_TTRUE); |
6498 | if (op == BC_ISTC || op == BC_IST) { | 6539 | if (op == BC_ISTC || op == BC_IST) { |
6499 | dasm_put(Dst, 3404); | 6540 | dasm_put(Dst, 3469); |
6500 | if (op == BC_ISTC) { | 6541 | if (op == BC_ISTC) { |
6501 | dasm_put(Dst, 3406); | 6542 | dasm_put(Dst, 3471); |
6502 | } | 6543 | } |
6503 | } else { | 6544 | } else { |
6504 | dasm_put(Dst, 3408); | 6545 | dasm_put(Dst, 3473); |
6505 | if (op == BC_ISFC) { | 6546 | if (op == BC_ISFC) { |
6506 | dasm_put(Dst, 3410); | 6547 | dasm_put(Dst, 3475); |
6507 | } | 6548 | } |
6508 | } | 6549 | } |
6509 | dasm_put(Dst, 3412); | 6550 | dasm_put(Dst, 3477); |
6510 | break; | 6551 | break; |
6511 | 6552 | ||
6512 | /* -- Unary ops --------------------------------------------------------- */ | 6553 | /* -- Unary ops --------------------------------------------------------- */ |
6513 | 6554 | ||
6514 | case BC_MOV: | 6555 | case BC_MOV: |
6515 | dasm_put(Dst, 3419); | 6556 | dasm_put(Dst, 3484); |
6516 | break; | 6557 | break; |
6517 | case BC_NOT: | 6558 | case BC_NOT: |
6518 | dasm_put(Dst, 3429, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE); | 6559 | dasm_put(Dst, 3494, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE); |
6519 | break; | 6560 | break; |
6520 | case BC_UNM: | 6561 | case BC_UNM: |
6521 | dasm_put(Dst, 3446, -LJ_TISNUM); | 6562 | dasm_put(Dst, 3511, -LJ_TISNUM); |
6522 | break; | 6563 | break; |
6523 | case BC_LEN: | 6564 | case BC_LEN: |
6524 | dasm_put(Dst, 3472, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB); | 6565 | dasm_put(Dst, 3537, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB); |
6525 | if (LJ_TARGET_OSX) { | 6566 | if (LJ_TARGET_OSX) { |
6526 | dasm_put(Dst, 3496); | 6567 | dasm_put(Dst, 3561); |
6527 | } | 6568 | } |
6528 | dasm_put(Dst, 3498); | 6569 | dasm_put(Dst, 3563); |
6529 | if (LJ_TARGET_OSX) { | 6570 | if (LJ_TARGET_OSX) { |
6530 | dasm_put(Dst, 3501); | 6571 | dasm_put(Dst, 3566); |
6531 | } | 6572 | } |
6532 | dasm_put(Dst, 3503); | 6573 | dasm_put(Dst, 3568); |
6533 | break; | 6574 | break; |
6534 | 6575 | ||
6535 | /* -- Binary ops -------------------------------------------------------- */ | 6576 | /* -- Binary ops -------------------------------------------------------- */ |
6536 | 6577 | ||
6537 | 6578 | ||
6538 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: | 6579 | case BC_ADDVN: case BC_ADDNV: case BC_ADDVV: |
6539 | dasm_put(Dst, 3506); | 6580 | dasm_put(Dst, 3571); |
6540 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 6581 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
6541 | switch (vk) { | 6582 | switch (vk) { |
6542 | case 0: | 6583 | case 0: |
6543 | dasm_put(Dst, 3509); | 6584 | dasm_put(Dst, 3574); |
6544 | break; | 6585 | break; |
6545 | case 1: | 6586 | case 1: |
6546 | dasm_put(Dst, 3512); | 6587 | dasm_put(Dst, 3577); |
6547 | break; | 6588 | break; |
6548 | default: | 6589 | default: |
6549 | dasm_put(Dst, 3515); | 6590 | dasm_put(Dst, 3580); |
6550 | break; | 6591 | break; |
6551 | } | 6592 | } |
6552 | dasm_put(Dst, 3518); | 6593 | dasm_put(Dst, 3583); |
6553 | if (vk == 1) { | 6594 | if (vk == 1) { |
6554 | dasm_put(Dst, 3520, -LJ_TISNUM, -LJ_TISNUM); | 6595 | dasm_put(Dst, 3585, -LJ_TISNUM, -LJ_TISNUM); |
6555 | } else { | 6596 | } else { |
6556 | dasm_put(Dst, 3525, -LJ_TISNUM, -LJ_TISNUM); | 6597 | dasm_put(Dst, 3590, -LJ_TISNUM, -LJ_TISNUM); |
6557 | } | 6598 | } |
6558 | dasm_put(Dst, 3530); | 6599 | dasm_put(Dst, 3595); |
6559 | switch (vk) { | 6600 | switch (vk) { |
6560 | case 0: | 6601 | case 0: |
6561 | dasm_put(Dst, 3534); | 6602 | dasm_put(Dst, 3599); |
6562 | break; | 6603 | break; |
6563 | case 1: | 6604 | case 1: |
6564 | dasm_put(Dst, 3537); | 6605 | dasm_put(Dst, 3602); |
6565 | break; | 6606 | break; |
6566 | default: | 6607 | default: |
6567 | dasm_put(Dst, 3540); | 6608 | dasm_put(Dst, 3605); |
6568 | break; | 6609 | break; |
6569 | } | 6610 | } |
6570 | dasm_put(Dst, 3543); | 6611 | dasm_put(Dst, 3608); |
6571 | switch (vk) { | 6612 | switch (vk) { |
6572 | case 0: | 6613 | case 0: |
6573 | if (vk == 1) { | 6614 | if (vk == 1) { |
6574 | dasm_put(Dst, 3552, -LJ_TISNUM, -LJ_TISNUM); | 6615 | dasm_put(Dst, 3617, -LJ_TISNUM, -LJ_TISNUM); |
6575 | } else { | 6616 | } else { |
6576 | dasm_put(Dst, 3557, -LJ_TISNUM, -LJ_TISNUM); | 6617 | dasm_put(Dst, 3622, -LJ_TISNUM, -LJ_TISNUM); |
6577 | } | 6618 | } |
6578 | dasm_put(Dst, 3562); | 6619 | dasm_put(Dst, 3627); |
6579 | break; | 6620 | break; |
6580 | case 1: | 6621 | case 1: |
6581 | if (vk == 1) { | 6622 | if (vk == 1) { |
6582 | dasm_put(Dst, 3565, -LJ_TISNUM, -LJ_TISNUM); | 6623 | dasm_put(Dst, 3630, -LJ_TISNUM, -LJ_TISNUM); |
6583 | } else { | 6624 | } else { |
6584 | dasm_put(Dst, 3570, -LJ_TISNUM, -LJ_TISNUM); | 6625 | dasm_put(Dst, 3635, -LJ_TISNUM, -LJ_TISNUM); |
6585 | } | 6626 | } |
6586 | dasm_put(Dst, 3575); | 6627 | dasm_put(Dst, 3640); |
6587 | break; | 6628 | break; |
6588 | default: | 6629 | default: |
6589 | if (vk == 1) { | 6630 | if (vk == 1) { |
6590 | dasm_put(Dst, 3578, -LJ_TISNUM, -LJ_TISNUM); | 6631 | dasm_put(Dst, 3643, -LJ_TISNUM, -LJ_TISNUM); |
6591 | } else { | 6632 | } else { |
6592 | dasm_put(Dst, 3583, -LJ_TISNUM, -LJ_TISNUM); | 6633 | dasm_put(Dst, 3648, -LJ_TISNUM, -LJ_TISNUM); |
6593 | } | 6634 | } |
6594 | dasm_put(Dst, 3588); | 6635 | dasm_put(Dst, 3653); |
6595 | break; | 6636 | break; |
6596 | } | 6637 | } |
6597 | dasm_put(Dst, 3591); | 6638 | dasm_put(Dst, 3656); |
6598 | break; | 6639 | break; |
6599 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: | 6640 | case BC_SUBVN: case BC_SUBNV: case BC_SUBVV: |
6600 | dasm_put(Dst, 3597); | 6641 | dasm_put(Dst, 3662); |
6601 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 6642 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
6602 | switch (vk) { | 6643 | switch (vk) { |
6603 | case 0: | 6644 | case 0: |
6604 | dasm_put(Dst, 3600); | 6645 | dasm_put(Dst, 3665); |
6605 | break; | 6646 | break; |
6606 | case 1: | 6647 | case 1: |
6607 | dasm_put(Dst, 3603); | 6648 | dasm_put(Dst, 3668); |
6608 | break; | 6649 | break; |
6609 | default: | 6650 | default: |
6610 | dasm_put(Dst, 3606); | 6651 | dasm_put(Dst, 3671); |
6611 | break; | 6652 | break; |
6612 | } | 6653 | } |
6613 | dasm_put(Dst, 3609); | 6654 | dasm_put(Dst, 3674); |
6614 | if (vk == 1) { | 6655 | if (vk == 1) { |
6615 | dasm_put(Dst, 3611, -LJ_TISNUM, -LJ_TISNUM); | 6656 | dasm_put(Dst, 3676, -LJ_TISNUM, -LJ_TISNUM); |
6616 | } else { | 6657 | } else { |
6617 | dasm_put(Dst, 3616, -LJ_TISNUM, -LJ_TISNUM); | 6658 | dasm_put(Dst, 3681, -LJ_TISNUM, -LJ_TISNUM); |
6618 | } | 6659 | } |
6619 | dasm_put(Dst, 3621); | 6660 | dasm_put(Dst, 3686); |
6620 | switch (vk) { | 6661 | switch (vk) { |
6621 | case 0: | 6662 | case 0: |
6622 | dasm_put(Dst, 3625); | 6663 | dasm_put(Dst, 3690); |
6623 | break; | 6664 | break; |
6624 | case 1: | 6665 | case 1: |
6625 | dasm_put(Dst, 3628); | 6666 | dasm_put(Dst, 3693); |
6626 | break; | 6667 | break; |
6627 | default: | 6668 | default: |
6628 | dasm_put(Dst, 3631); | 6669 | dasm_put(Dst, 3696); |
6629 | break; | 6670 | break; |
6630 | } | 6671 | } |
6631 | dasm_put(Dst, 3634); | 6672 | dasm_put(Dst, 3699); |
6632 | switch (vk) { | 6673 | switch (vk) { |
6633 | case 0: | 6674 | case 0: |
6634 | if (vk == 1) { | 6675 | if (vk == 1) { |
6635 | dasm_put(Dst, 3643, -LJ_TISNUM, -LJ_TISNUM); | 6676 | dasm_put(Dst, 3708, -LJ_TISNUM, -LJ_TISNUM); |
6636 | } else { | 6677 | } else { |
6637 | dasm_put(Dst, 3648, -LJ_TISNUM, -LJ_TISNUM); | 6678 | dasm_put(Dst, 3713, -LJ_TISNUM, -LJ_TISNUM); |
6638 | } | 6679 | } |
6639 | dasm_put(Dst, 3653); | 6680 | dasm_put(Dst, 3718); |
6640 | break; | 6681 | break; |
6641 | case 1: | 6682 | case 1: |
6642 | if (vk == 1) { | 6683 | if (vk == 1) { |
6643 | dasm_put(Dst, 3656, -LJ_TISNUM, -LJ_TISNUM); | 6684 | dasm_put(Dst, 3721, -LJ_TISNUM, -LJ_TISNUM); |
6644 | } else { | 6685 | } else { |
6645 | dasm_put(Dst, 3661, -LJ_TISNUM, -LJ_TISNUM); | 6686 | dasm_put(Dst, 3726, -LJ_TISNUM, -LJ_TISNUM); |
6646 | } | 6687 | } |
6647 | dasm_put(Dst, 3666); | 6688 | dasm_put(Dst, 3731); |
6648 | break; | 6689 | break; |
6649 | default: | 6690 | default: |
6650 | if (vk == 1) { | 6691 | if (vk == 1) { |
6651 | dasm_put(Dst, 3669, -LJ_TISNUM, -LJ_TISNUM); | 6692 | dasm_put(Dst, 3734, -LJ_TISNUM, -LJ_TISNUM); |
6652 | } else { | 6693 | } else { |
6653 | dasm_put(Dst, 3674, -LJ_TISNUM, -LJ_TISNUM); | 6694 | dasm_put(Dst, 3739, -LJ_TISNUM, -LJ_TISNUM); |
6654 | } | 6695 | } |
6655 | dasm_put(Dst, 3679); | 6696 | dasm_put(Dst, 3744); |
6656 | break; | 6697 | break; |
6657 | } | 6698 | } |
6658 | dasm_put(Dst, 3682); | 6699 | dasm_put(Dst, 3747); |
6659 | break; | 6700 | break; |
6660 | case BC_MULVN: case BC_MULNV: case BC_MULVV: | 6701 | case BC_MULVN: case BC_MULNV: case BC_MULVV: |
6661 | dasm_put(Dst, 3688); | 6702 | dasm_put(Dst, 3753); |
6662 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 6703 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
6663 | switch (vk) { | 6704 | switch (vk) { |
6664 | case 0: | 6705 | case 0: |
6665 | dasm_put(Dst, 3691); | 6706 | dasm_put(Dst, 3756); |
6666 | break; | 6707 | break; |
6667 | case 1: | 6708 | case 1: |
6668 | dasm_put(Dst, 3694); | 6709 | dasm_put(Dst, 3759); |
6669 | break; | 6710 | break; |
6670 | default: | 6711 | default: |
6671 | dasm_put(Dst, 3697); | 6712 | dasm_put(Dst, 3762); |
6672 | break; | 6713 | break; |
6673 | } | 6714 | } |
6674 | dasm_put(Dst, 3700); | 6715 | dasm_put(Dst, 3765); |
6675 | if (vk == 1) { | 6716 | if (vk == 1) { |
6676 | dasm_put(Dst, 3702, -LJ_TISNUM, -LJ_TISNUM); | 6717 | dasm_put(Dst, 3767, -LJ_TISNUM, -LJ_TISNUM); |
6677 | } else { | 6718 | } else { |
6678 | dasm_put(Dst, 3707, -LJ_TISNUM, -LJ_TISNUM); | 6719 | dasm_put(Dst, 3772, -LJ_TISNUM, -LJ_TISNUM); |
6679 | } | 6720 | } |
6680 | dasm_put(Dst, 3712); | 6721 | dasm_put(Dst, 3777); |
6681 | switch (vk) { | 6722 | switch (vk) { |
6682 | case 0: | 6723 | case 0: |
6683 | dasm_put(Dst, 3717); | 6724 | dasm_put(Dst, 3782); |
6684 | break; | 6725 | break; |
6685 | case 1: | 6726 | case 1: |
6686 | dasm_put(Dst, 3720); | 6727 | dasm_put(Dst, 3785); |
6687 | break; | 6728 | break; |
6688 | default: | 6729 | default: |
6689 | dasm_put(Dst, 3723); | 6730 | dasm_put(Dst, 3788); |
6690 | break; | 6731 | break; |
6691 | } | 6732 | } |
6692 | dasm_put(Dst, 3726); | 6733 | dasm_put(Dst, 3791); |
6693 | switch (vk) { | 6734 | switch (vk) { |
6694 | case 0: | 6735 | case 0: |
6695 | if (vk == 1) { | 6736 | if (vk == 1) { |
6696 | dasm_put(Dst, 3735, -LJ_TISNUM, -LJ_TISNUM); | 6737 | dasm_put(Dst, 3800, -LJ_TISNUM, -LJ_TISNUM); |
6697 | } else { | 6738 | } else { |
6698 | dasm_put(Dst, 3740, -LJ_TISNUM, -LJ_TISNUM); | 6739 | dasm_put(Dst, 3805, -LJ_TISNUM, -LJ_TISNUM); |
6699 | } | 6740 | } |
6700 | dasm_put(Dst, 3745); | 6741 | dasm_put(Dst, 3810); |
6701 | break; | 6742 | break; |
6702 | case 1: | 6743 | case 1: |
6703 | if (vk == 1) { | 6744 | if (vk == 1) { |
6704 | dasm_put(Dst, 3748, -LJ_TISNUM, -LJ_TISNUM); | 6745 | dasm_put(Dst, 3813, -LJ_TISNUM, -LJ_TISNUM); |
6705 | } else { | 6746 | } else { |
6706 | dasm_put(Dst, 3753, -LJ_TISNUM, -LJ_TISNUM); | 6747 | dasm_put(Dst, 3818, -LJ_TISNUM, -LJ_TISNUM); |
6707 | } | 6748 | } |
6708 | dasm_put(Dst, 3758); | 6749 | dasm_put(Dst, 3823); |
6709 | break; | 6750 | break; |
6710 | default: | 6751 | default: |
6711 | if (vk == 1) { | 6752 | if (vk == 1) { |
6712 | dasm_put(Dst, 3761, -LJ_TISNUM, -LJ_TISNUM); | 6753 | dasm_put(Dst, 3826, -LJ_TISNUM, -LJ_TISNUM); |
6713 | } else { | 6754 | } else { |
6714 | dasm_put(Dst, 3766, -LJ_TISNUM, -LJ_TISNUM); | 6755 | dasm_put(Dst, 3831, -LJ_TISNUM, -LJ_TISNUM); |
6715 | } | 6756 | } |
6716 | dasm_put(Dst, 3771); | 6757 | dasm_put(Dst, 3836); |
6717 | break; | 6758 | break; |
6718 | } | 6759 | } |
6719 | dasm_put(Dst, 3774); | 6760 | dasm_put(Dst, 3839); |
6720 | break; | 6761 | break; |
6721 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: | 6762 | case BC_DIVVN: case BC_DIVNV: case BC_DIVVV: |
6722 | dasm_put(Dst, 3780); | 6763 | dasm_put(Dst, 3845); |
6723 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 6764 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
6724 | switch (vk) { | 6765 | switch (vk) { |
6725 | case 0: | 6766 | case 0: |
6726 | dasm_put(Dst, 3783); | 6767 | dasm_put(Dst, 3848); |
6727 | break; | 6768 | break; |
6728 | case 1: | 6769 | case 1: |
6729 | dasm_put(Dst, 3786); | 6770 | dasm_put(Dst, 3851); |
6730 | break; | 6771 | break; |
6731 | default: | 6772 | default: |
6732 | dasm_put(Dst, 3789); | 6773 | dasm_put(Dst, 3854); |
6733 | break; | 6774 | break; |
6734 | } | 6775 | } |
6735 | switch (vk) { | 6776 | switch (vk) { |
6736 | case 0: | 6777 | case 0: |
6737 | if (vk == 1) { | 6778 | if (vk == 1) { |
6738 | dasm_put(Dst, 3792, -LJ_TISNUM, -LJ_TISNUM); | 6779 | dasm_put(Dst, 3857, -LJ_TISNUM, -LJ_TISNUM); |
6739 | } else { | 6780 | } else { |
6740 | dasm_put(Dst, 3797, -LJ_TISNUM, -LJ_TISNUM); | 6781 | dasm_put(Dst, 3862, -LJ_TISNUM, -LJ_TISNUM); |
6741 | } | 6782 | } |
6742 | dasm_put(Dst, 3802); | 6783 | dasm_put(Dst, 3867); |
6743 | break; | 6784 | break; |
6744 | case 1: | 6785 | case 1: |
6745 | if (vk == 1) { | 6786 | if (vk == 1) { |
6746 | dasm_put(Dst, 3805, -LJ_TISNUM, -LJ_TISNUM); | 6787 | dasm_put(Dst, 3870, -LJ_TISNUM, -LJ_TISNUM); |
6747 | } else { | 6788 | } else { |
6748 | dasm_put(Dst, 3810, -LJ_TISNUM, -LJ_TISNUM); | 6789 | dasm_put(Dst, 3875, -LJ_TISNUM, -LJ_TISNUM); |
6749 | } | 6790 | } |
6750 | dasm_put(Dst, 3815); | 6791 | dasm_put(Dst, 3880); |
6751 | break; | 6792 | break; |
6752 | default: | 6793 | default: |
6753 | if (vk == 1) { | 6794 | if (vk == 1) { |
6754 | dasm_put(Dst, 3818, -LJ_TISNUM, -LJ_TISNUM); | 6795 | dasm_put(Dst, 3883, -LJ_TISNUM, -LJ_TISNUM); |
6755 | } else { | 6796 | } else { |
6756 | dasm_put(Dst, 3823, -LJ_TISNUM, -LJ_TISNUM); | 6797 | dasm_put(Dst, 3888, -LJ_TISNUM, -LJ_TISNUM); |
6757 | } | 6798 | } |
6758 | dasm_put(Dst, 3828); | 6799 | dasm_put(Dst, 3893); |
6759 | break; | 6800 | break; |
6760 | } | 6801 | } |
6761 | dasm_put(Dst, 3831); | 6802 | dasm_put(Dst, 3896); |
6762 | break; | 6803 | break; |
6763 | case BC_MODVN: case BC_MODNV: case BC_MODVV: | 6804 | case BC_MODVN: case BC_MODNV: case BC_MODVV: |
6764 | dasm_put(Dst, 3841); | 6805 | dasm_put(Dst, 3906); |
6765 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 6806 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
6766 | switch (vk) { | 6807 | switch (vk) { |
6767 | case 0: | 6808 | case 0: |
6768 | dasm_put(Dst, 3844); | 6809 | dasm_put(Dst, 3909); |
6769 | break; | 6810 | break; |
6770 | case 1: | 6811 | case 1: |
6771 | dasm_put(Dst, 3847); | 6812 | dasm_put(Dst, 3912); |
6772 | break; | 6813 | break; |
6773 | default: | 6814 | default: |
6774 | dasm_put(Dst, 3850); | 6815 | dasm_put(Dst, 3915); |
6775 | break; | 6816 | break; |
6776 | } | 6817 | } |
6777 | if (vk == 1) { | 6818 | if (vk == 1) { |
6778 | dasm_put(Dst, 3853, -LJ_TISNUM, -LJ_TISNUM); | 6819 | dasm_put(Dst, 3918, -LJ_TISNUM, -LJ_TISNUM); |
6779 | } else { | 6820 | } else { |
6780 | dasm_put(Dst, 3858, -LJ_TISNUM, -LJ_TISNUM); | 6821 | dasm_put(Dst, 3923, -LJ_TISNUM, -LJ_TISNUM); |
6781 | } | 6822 | } |
6782 | dasm_put(Dst, 3863); | 6823 | dasm_put(Dst, 3928); |
6783 | switch (vk) { | 6824 | switch (vk) { |
6784 | case 0: | 6825 | case 0: |
6785 | dasm_put(Dst, 3867); | 6826 | dasm_put(Dst, 3932); |
6786 | break; | 6827 | break; |
6787 | case 1: | 6828 | case 1: |
6788 | dasm_put(Dst, 3870); | 6829 | dasm_put(Dst, 3935); |
6789 | break; | 6830 | break; |
6790 | default: | 6831 | default: |
6791 | dasm_put(Dst, 3873); | 6832 | dasm_put(Dst, 3938); |
6792 | break; | 6833 | break; |
6793 | } | 6834 | } |
6794 | dasm_put(Dst, 3876, ~LJ_TISNUM); | 6835 | dasm_put(Dst, 3941, ~LJ_TISNUM); |
6795 | switch (vk) { | 6836 | switch (vk) { |
6796 | case 0: | 6837 | case 0: |
6797 | if (vk == 1) { | 6838 | if (vk == 1) { |
6798 | dasm_put(Dst, 3890, -LJ_TISNUM, -LJ_TISNUM); | 6839 | dasm_put(Dst, 3955, -LJ_TISNUM, -LJ_TISNUM); |
6799 | } else { | 6840 | } else { |
6800 | dasm_put(Dst, 3895, -LJ_TISNUM, -LJ_TISNUM); | 6841 | dasm_put(Dst, 3960, -LJ_TISNUM, -LJ_TISNUM); |
6801 | } | 6842 | } |
6802 | dasm_put(Dst, 3900); | 6843 | dasm_put(Dst, 3965); |
6803 | break; | 6844 | break; |
6804 | case 1: | 6845 | case 1: |
6805 | if (vk == 1) { | 6846 | if (vk == 1) { |
6806 | dasm_put(Dst, 3903, -LJ_TISNUM, -LJ_TISNUM); | 6847 | dasm_put(Dst, 3968, -LJ_TISNUM, -LJ_TISNUM); |
6807 | } else { | 6848 | } else { |
6808 | dasm_put(Dst, 3908, -LJ_TISNUM, -LJ_TISNUM); | 6849 | dasm_put(Dst, 3973, -LJ_TISNUM, -LJ_TISNUM); |
6809 | } | 6850 | } |
6810 | dasm_put(Dst, 3913); | 6851 | dasm_put(Dst, 3978); |
6811 | break; | 6852 | break; |
6812 | default: | 6853 | default: |
6813 | if (vk == 1) { | 6854 | if (vk == 1) { |
6814 | dasm_put(Dst, 3916, -LJ_TISNUM, -LJ_TISNUM); | 6855 | dasm_put(Dst, 3981, -LJ_TISNUM, -LJ_TISNUM); |
6815 | } else { | 6856 | } else { |
6816 | dasm_put(Dst, 3921, -LJ_TISNUM, -LJ_TISNUM); | 6857 | dasm_put(Dst, 3986, -LJ_TISNUM, -LJ_TISNUM); |
6817 | } | 6858 | } |
6818 | dasm_put(Dst, 3926); | 6859 | dasm_put(Dst, 3991); |
6819 | break; | 6860 | break; |
6820 | } | 6861 | } |
6821 | if (LJ_TARGET_OSX) { | 6862 | dasm_put(Dst, 3994); |
6822 | dasm_put(Dst, 3929); | ||
6823 | } | ||
6824 | dasm_put(Dst, 3931); | ||
6825 | if (LJ_TARGET_OSX) { | ||
6826 | dasm_put(Dst, 3934); | ||
6827 | } | ||
6828 | dasm_put(Dst, 3936); | ||
6829 | break; | 6863 | break; |
6830 | case BC_POW: | 6864 | case BC_POW: |
6831 | dasm_put(Dst, 3939); | 6865 | dasm_put(Dst, 3999); |
6832 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); | 6866 | vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN); |
6833 | switch (vk) { | 6867 | switch (vk) { |
6834 | case 0: | 6868 | case 0: |
6835 | dasm_put(Dst, 3942); | 6869 | dasm_put(Dst, 4002); |
6836 | break; | 6870 | break; |
6837 | case 1: | 6871 | case 1: |
6838 | dasm_put(Dst, 3945); | 6872 | dasm_put(Dst, 4005); |
6839 | break; | 6873 | break; |
6840 | default: | 6874 | default: |
6841 | dasm_put(Dst, 3948); | 6875 | dasm_put(Dst, 4008); |
6842 | break; | 6876 | break; |
6843 | } | 6877 | } |
6844 | switch (vk) { | 6878 | switch (vk) { |
6845 | case 0: | 6879 | case 0: |
6846 | if (vk == 1) { | 6880 | if (vk == 1) { |
6847 | dasm_put(Dst, 3951, -LJ_TISNUM, -LJ_TISNUM); | 6881 | dasm_put(Dst, 4011, -LJ_TISNUM, -LJ_TISNUM); |
6848 | } else { | 6882 | } else { |
6849 | dasm_put(Dst, 3956, -LJ_TISNUM, -LJ_TISNUM); | 6883 | dasm_put(Dst, 4016, -LJ_TISNUM, -LJ_TISNUM); |
6850 | } | 6884 | } |
6851 | dasm_put(Dst, 3961); | 6885 | dasm_put(Dst, 4021); |
6852 | break; | 6886 | break; |
6853 | case 1: | 6887 | case 1: |
6854 | if (vk == 1) { | 6888 | if (vk == 1) { |
6855 | dasm_put(Dst, 3964, -LJ_TISNUM, -LJ_TISNUM); | 6889 | dasm_put(Dst, 4024, -LJ_TISNUM, -LJ_TISNUM); |
6856 | } else { | 6890 | } else { |
6857 | dasm_put(Dst, 3969, -LJ_TISNUM, -LJ_TISNUM); | 6891 | dasm_put(Dst, 4029, -LJ_TISNUM, -LJ_TISNUM); |
6858 | } | 6892 | } |
6859 | dasm_put(Dst, 3974); | 6893 | dasm_put(Dst, 4034); |
6860 | break; | 6894 | break; |
6861 | default: | 6895 | default: |
6862 | if (vk == 1) { | 6896 | if (vk == 1) { |
6863 | dasm_put(Dst, 3977, -LJ_TISNUM, -LJ_TISNUM); | 6897 | dasm_put(Dst, 4037, -LJ_TISNUM, -LJ_TISNUM); |
6864 | } else { | 6898 | } else { |
6865 | dasm_put(Dst, 3982, -LJ_TISNUM, -LJ_TISNUM); | 6899 | dasm_put(Dst, 4042, -LJ_TISNUM, -LJ_TISNUM); |
6866 | } | 6900 | } |
6867 | dasm_put(Dst, 3987); | 6901 | dasm_put(Dst, 4047); |
6868 | break; | 6902 | break; |
6869 | } | 6903 | } |
6870 | if (LJ_TARGET_OSX) { | 6904 | if (LJ_TARGET_OSX) { |
6871 | dasm_put(Dst, 3990); | 6905 | dasm_put(Dst, 4050); |
6872 | } | 6906 | } |
6873 | dasm_put(Dst, 3992); | 6907 | dasm_put(Dst, 4052); |
6874 | if (LJ_TARGET_OSX) { | 6908 | if (LJ_TARGET_OSX) { |
6875 | dasm_put(Dst, 3995); | 6909 | dasm_put(Dst, 4055); |
6876 | } | 6910 | } |
6877 | dasm_put(Dst, 3997); | 6911 | dasm_put(Dst, 4057); |
6878 | break; | 6912 | break; |
6879 | 6913 | ||
6880 | case BC_CAT: | 6914 | case BC_CAT: |
6881 | dasm_put(Dst, 4005, Dt1(->base), Dt1(->base)); | 6915 | dasm_put(Dst, 4065, Dt1(->base), Dt1(->base)); |
6882 | break; | 6916 | break; |
6883 | 6917 | ||
6884 | /* -- Constant ops ------------------------------------------------------ */ | 6918 | /* -- Constant ops ------------------------------------------------------ */ |
6885 | 6919 | ||
6886 | case BC_KSTR: | 6920 | case BC_KSTR: |
6887 | dasm_put(Dst, 4031, ~LJ_TSTR); | 6921 | dasm_put(Dst, 4091, ~LJ_TSTR); |
6888 | break; | 6922 | break; |
6889 | case BC_KCDATA: | 6923 | case BC_KCDATA: |
6890 | #if LJ_HASFFI | 6924 | #if LJ_HASFFI |
6891 | dasm_put(Dst, 4043, ~LJ_TCDATA); | 6925 | dasm_put(Dst, 4103, ~LJ_TCDATA); |
6892 | #endif | 6926 | #endif |
6893 | break; | 6927 | break; |
6894 | case BC_KSHORT: | 6928 | case BC_KSHORT: |
6895 | dasm_put(Dst, 4055, ~LJ_TISNUM); | 6929 | dasm_put(Dst, 4115, ~LJ_TISNUM); |
6896 | break; | 6930 | break; |
6897 | case BC_KNUM: | 6931 | case BC_KNUM: |
6898 | dasm_put(Dst, 4066); | 6932 | dasm_put(Dst, 4126); |
6899 | break; | 6933 | break; |
6900 | case BC_KPRI: | 6934 | case BC_KPRI: |
6901 | dasm_put(Dst, 4076); | 6935 | dasm_put(Dst, 4136); |
6902 | break; | 6936 | break; |
6903 | case BC_KNIL: | 6937 | case BC_KNIL: |
6904 | dasm_put(Dst, 4086, ~LJ_TNIL); | 6938 | dasm_put(Dst, 4146, ~LJ_TNIL); |
6905 | break; | 6939 | break; |
6906 | 6940 | ||
6907 | /* -- Upvalue and function ops ------------------------------------------ */ | 6941 | /* -- Upvalue and function ops ------------------------------------------ */ |
6908 | 6942 | ||
6909 | case BC_UGET: | 6943 | case BC_UGET: |
6910 | dasm_put(Dst, 4105, offsetof(GCfuncL, uvptr), DtA(->v)); | 6944 | dasm_put(Dst, 4165, offsetof(GCfuncL, uvptr), DtA(->v)); |
6911 | break; | 6945 | break; |
6912 | case BC_USETV: | 6946 | case BC_USETV: |
6913 | dasm_put(Dst, 4121, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES); | 6947 | dasm_put(Dst, 4181, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES); |
6914 | if (LJ_TARGET_OSX) { | 6948 | if (LJ_TARGET_OSX) { |
6915 | dasm_put(Dst, 4161); | 6949 | dasm_put(Dst, 4221); |
6916 | } else { | 6950 | } else { |
6917 | dasm_put(Dst, 4168); | 6951 | dasm_put(Dst, 4228); |
6918 | } | 6952 | } |
6919 | dasm_put(Dst, 4171); | 6953 | dasm_put(Dst, 4231); |
6920 | break; | 6954 | break; |
6921 | case BC_USETS: | 6955 | case BC_USETS: |
6922 | dasm_put(Dst, 4174, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G); | 6956 | dasm_put(Dst, 4234, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G); |
6923 | if (LJ_TARGET_OSX) { | 6957 | if (LJ_TARGET_OSX) { |
6924 | dasm_put(Dst, 4210); | 6958 | dasm_put(Dst, 4270); |
6925 | } else { | 6959 | } else { |
6926 | dasm_put(Dst, 4217); | 6960 | dasm_put(Dst, 4277); |
6927 | } | 6961 | } |
6928 | dasm_put(Dst, 4220); | 6962 | dasm_put(Dst, 4280); |
6929 | break; | 6963 | break; |
6930 | case BC_USETN: | 6964 | case BC_USETN: |
6931 | dasm_put(Dst, 4223, offsetof(GCfuncL, uvptr), DtA(->v)); | 6965 | dasm_put(Dst, 4283, offsetof(GCfuncL, uvptr), DtA(->v)); |
6932 | break; | 6966 | break; |
6933 | case BC_USETP: | 6967 | case BC_USETP: |
6934 | dasm_put(Dst, 4240, offsetof(GCfuncL, uvptr), DtA(->v)); | 6968 | dasm_put(Dst, 4300, offsetof(GCfuncL, uvptr), DtA(->v)); |
6935 | break; | 6969 | break; |
6936 | 6970 | ||
6937 | case BC_UCLO: | 6971 | case BC_UCLO: |
6938 | dasm_put(Dst, 4256, Dt1(->openupval), Dt1(->base), Dt1(->base)); | 6972 | dasm_put(Dst, 4316, Dt1(->openupval), Dt1(->base), Dt1(->base)); |
6939 | break; | 6973 | break; |
6940 | 6974 | ||
6941 | case BC_FNEW: | 6975 | case BC_FNEW: |
6942 | dasm_put(Dst, 4279, Dt1(->base), Dt1(->base), ~LJ_TFUNC); | 6976 | dasm_put(Dst, 4339, Dt1(->base), Dt1(->base), ~LJ_TFUNC); |
6943 | break; | 6977 | break; |
6944 | 6978 | ||
6945 | /* -- Table ops --------------------------------------------------------- */ | 6979 | /* -- Table ops --------------------------------------------------------- */ |
@@ -6947,115 +6981,115 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
6947 | case BC_TNEW: | 6981 | case BC_TNEW: |
6948 | case BC_TDUP: | 6982 | case BC_TDUP: |
6949 | if (op == BC_TDUP) { | 6983 | if (op == BC_TDUP) { |
6950 | dasm_put(Dst, 4300); | 6984 | dasm_put(Dst, 4360); |
6951 | } | 6985 | } |
6952 | dasm_put(Dst, 4302, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); | 6986 | dasm_put(Dst, 4362, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base)); |
6953 | if (op == BC_TNEW) { | 6987 | if (op == BC_TNEW) { |
6954 | dasm_put(Dst, 4315); | 6988 | dasm_put(Dst, 4375); |
6955 | } else { | 6989 | } else { |
6956 | dasm_put(Dst, 4324); | 6990 | dasm_put(Dst, 4384); |
6957 | } | 6991 | } |
6958 | dasm_put(Dst, 4328, Dt1(->base), ~LJ_TTAB); | 6992 | dasm_put(Dst, 4388, Dt1(->base), ~LJ_TTAB); |
6959 | break; | 6993 | break; |
6960 | 6994 | ||
6961 | case BC_GGET: | 6995 | case BC_GGET: |
6962 | case BC_GSET: | 6996 | case BC_GSET: |
6963 | dasm_put(Dst, 4346, Dt7(->env)); | 6997 | dasm_put(Dst, 4406, Dt7(->env)); |
6964 | if (op == BC_GGET) { | 6998 | if (op == BC_GGET) { |
6965 | dasm_put(Dst, 4352); | 6999 | dasm_put(Dst, 4412); |
6966 | } else { | 7000 | } else { |
6967 | dasm_put(Dst, 4355); | 7001 | dasm_put(Dst, 4415); |
6968 | } | 7002 | } |
6969 | break; | 7003 | break; |
6970 | 7004 | ||
6971 | case BC_TGETV: | 7005 | case BC_TGETV: |
6972 | dasm_put(Dst, 4358, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR); | 7006 | dasm_put(Dst, 4418, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR); |
6973 | break; | 7007 | break; |
6974 | case BC_TGETS: | 7008 | case BC_TGETS: |
6975 | dasm_put(Dst, 4415, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm)); | 7009 | dasm_put(Dst, 4475, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm)); |
6976 | dasm_put(Dst, 4475, 1<<MM_index); | 7010 | dasm_put(Dst, 4535, 1<<MM_index); |
6977 | break; | 7011 | break; |
6978 | case BC_TGETB: | 7012 | case BC_TGETB: |
6979 | dasm_put(Dst, 4482, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); | 7013 | dasm_put(Dst, 4542, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index); |
6980 | break; | 7014 | break; |
6981 | 7015 | ||
6982 | case BC_TSETV: | 7016 | case BC_TSETV: |
6983 | dasm_put(Dst, 4525, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); | 7017 | dasm_put(Dst, 4585, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex); |
6984 | dasm_put(Dst, 4585, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR); | 7018 | dasm_put(Dst, 4645, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR); |
6985 | break; | 7019 | break; |
6986 | case BC_TSETS: | 7020 | case BC_TSETS: |
6987 | dasm_put(Dst, 4606, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val)); | 7021 | dasm_put(Dst, 4666, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val)); |
6988 | dasm_put(Dst, 4664, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, ~LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK); | 7022 | dasm_put(Dst, 4724, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, ~LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK); |
6989 | dasm_put(Dst, 4717, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); | 7023 | dasm_put(Dst, 4777, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); |
6990 | break; | 7024 | break; |
6991 | case BC_TSETB: | 7025 | case BC_TSETB: |
6992 | dasm_put(Dst, 4726, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK); | 7026 | dasm_put(Dst, 4786, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK); |
6993 | dasm_put(Dst, 4784, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); | 7027 | dasm_put(Dst, 4844, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); |
6994 | break; | 7028 | break; |
6995 | 7029 | ||
6996 | case BC_TSETM: | 7030 | case BC_TSETM: |
6997 | dasm_put(Dst, 4793, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base)); | 7031 | dasm_put(Dst, 4853, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base)); |
6998 | if (LJ_TARGET_OSX) { | 7032 | if (LJ_TARGET_OSX) { |
6999 | dasm_put(Dst, 4838, Dt1(->base)); | 7033 | dasm_put(Dst, 4898, Dt1(->base)); |
7000 | } | 7034 | } |
7001 | dasm_put(Dst, 4841, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); | 7035 | dasm_put(Dst, 4901, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist)); |
7002 | break; | 7036 | break; |
7003 | 7037 | ||
7004 | /* -- Calls and vararg handling ----------------------------------------- */ | 7038 | /* -- Calls and vararg handling ----------------------------------------- */ |
7005 | 7039 | ||
7006 | case BC_CALLM: | 7040 | case BC_CALLM: |
7007 | dasm_put(Dst, 4857); | 7041 | dasm_put(Dst, 4917); |
7008 | break; | 7042 | break; |
7009 | case BC_CALL: | 7043 | case BC_CALL: |
7010 | dasm_put(Dst, 4863, -LJ_TFUNC, Dt7(->field_pc)); | 7044 | dasm_put(Dst, 4923, -LJ_TFUNC, Dt7(->field_pc)); |
7011 | break; | 7045 | break; |
7012 | 7046 | ||
7013 | case BC_CALLMT: | 7047 | case BC_CALLMT: |
7014 | dasm_put(Dst, 4883); | 7048 | dasm_put(Dst, 4943); |
7015 | break; | 7049 | break; |
7016 | case BC_CALLT: | 7050 | case BC_CALLT: |
7017 | dasm_put(Dst, 4888, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP); | 7051 | dasm_put(Dst, 4948, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP); |
7018 | dasm_put(Dst, 4949, FRAME_TYPE); | 7052 | dasm_put(Dst, 5009, FRAME_TYPE); |
7019 | break; | 7053 | break; |
7020 | 7054 | ||
7021 | case BC_ITERC: | 7055 | case BC_ITERC: |
7022 | dasm_put(Dst, 4960, -LJ_TFUNC, Dt7(->field_pc)); | 7056 | dasm_put(Dst, 5020, -LJ_TFUNC, Dt7(->field_pc)); |
7023 | break; | 7057 | break; |
7024 | 7058 | ||
7025 | case BC_ITERN: | 7059 | case BC_ITERN: |
7026 | #if LJ_HASJIT | 7060 | #if LJ_HASJIT |
7027 | #endif | 7061 | #endif |
7028 | dasm_put(Dst, 4984, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key)); | 7062 | dasm_put(Dst, 5044, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key)); |
7029 | break; | 7063 | break; |
7030 | 7064 | ||
7031 | case BC_ISNEXT: | 7065 | case BC_ISNEXT: |
7032 | dasm_put(Dst, 5049, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC); | 7066 | dasm_put(Dst, 5109, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC); |
7033 | break; | 7067 | break; |
7034 | 7068 | ||
7035 | case BC_VARG: | 7069 | case BC_VARG: |
7036 | dasm_put(Dst, 5088, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base)); | 7070 | dasm_put(Dst, 5148, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base)); |
7037 | break; | 7071 | break; |
7038 | 7072 | ||
7039 | /* -- Returns ----------------------------------------------------------- */ | 7073 | /* -- Returns ----------------------------------------------------------- */ |
7040 | 7074 | ||
7041 | case BC_RETM: | 7075 | case BC_RETM: |
7042 | dasm_put(Dst, 5160); | 7076 | dasm_put(Dst, 5220); |
7043 | break; | 7077 | break; |
7044 | 7078 | ||
7045 | case BC_RET: | 7079 | case BC_RET: |
7046 | dasm_put(Dst, 5167, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP); | 7080 | dasm_put(Dst, 5227, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP); |
7047 | break; | 7081 | break; |
7048 | 7082 | ||
7049 | case BC_RET0: case BC_RET1: | 7083 | case BC_RET0: case BC_RET1: |
7050 | dasm_put(Dst, 5232, FRAME_TYPE, FRAME_VARG); | 7084 | dasm_put(Dst, 5292, FRAME_TYPE, FRAME_VARG); |
7051 | if (op == BC_RET1) { | 7085 | if (op == BC_RET1) { |
7052 | dasm_put(Dst, 5243); | 7086 | dasm_put(Dst, 5303); |
7053 | } | 7087 | } |
7054 | dasm_put(Dst, 5245); | 7088 | dasm_put(Dst, 5305); |
7055 | if (op == BC_RET1) { | 7089 | if (op == BC_RET1) { |
7056 | dasm_put(Dst, 5248); | 7090 | dasm_put(Dst, 5308); |
7057 | } | 7091 | } |
7058 | dasm_put(Dst, 5250, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL); | 7092 | dasm_put(Dst, 5310, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL); |
7059 | break; | 7093 | break; |
7060 | 7094 | ||
7061 | /* -- Loops and branches ------------------------------------------------ */ | 7095 | /* -- Loops and branches ------------------------------------------------ */ |
@@ -7063,7 +7097,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
7063 | 7097 | ||
7064 | case BC_FORL: | 7098 | case BC_FORL: |
7065 | #if LJ_HASJIT | 7099 | #if LJ_HASJIT |
7066 | dasm_put(Dst, 5276, -GG_DISP2HOT); | 7100 | dasm_put(Dst, 5336, -GG_DISP2HOT); |
7067 | #endif | 7101 | #endif |
7068 | break; | 7102 | break; |
7069 | 7103 | ||
@@ -7075,68 +7109,68 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
7075 | case BC_FORI: | 7109 | case BC_FORI: |
7076 | case BC_IFORL: | 7110 | case BC_IFORL: |
7077 | vk = (op == BC_IFORL || op == BC_JFORL); | 7111 | vk = (op == BC_IFORL || op == BC_JFORL); |
7078 | dasm_put(Dst, 5286); | 7112 | dasm_put(Dst, 5346); |
7079 | if (op != BC_JFORL) { | 7113 | if (op != BC_JFORL) { |
7080 | dasm_put(Dst, 5288); | 7114 | dasm_put(Dst, 5348); |
7081 | } | 7115 | } |
7082 | if (!vk) { | 7116 | if (!vk) { |
7083 | dasm_put(Dst, 5290, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); | 7117 | dasm_put(Dst, 5350, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM); |
7084 | } else { | 7118 | } else { |
7085 | dasm_put(Dst, 5308, -LJ_TISNUM); | 7119 | dasm_put(Dst, 5368, -LJ_TISNUM); |
7086 | if (op == BC_IFORL) { | 7120 | if (op == BC_IFORL) { |
7087 | dasm_put(Dst, 5316); | 7121 | dasm_put(Dst, 5376); |
7088 | } else { | 7122 | } else { |
7089 | dasm_put(Dst, 5318); | 7123 | dasm_put(Dst, 5378); |
7090 | } | 7124 | } |
7091 | dasm_put(Dst, 5321); | 7125 | dasm_put(Dst, 5381); |
7092 | } | 7126 | } |
7093 | dasm_put(Dst, 5326); | 7127 | dasm_put(Dst, 5386); |
7094 | if (op == BC_FORI) { | 7128 | if (op == BC_FORI) { |
7095 | dasm_put(Dst, 5328); | 7129 | dasm_put(Dst, 5388); |
7096 | } else if (op == BC_JFORI) { | 7130 | } else if (op == BC_JFORI) { |
7097 | dasm_put(Dst, 5330); | 7131 | dasm_put(Dst, 5390); |
7098 | } else if (op == BC_IFORL) { | 7132 | } else if (op == BC_IFORL) { |
7099 | dasm_put(Dst, 5333); | 7133 | dasm_put(Dst, 5393); |
7100 | } | 7134 | } |
7101 | if (vk) { | 7135 | if (vk) { |
7102 | dasm_put(Dst, 5335); | 7136 | dasm_put(Dst, 5395); |
7103 | } | 7137 | } |
7104 | dasm_put(Dst, 5337); | 7138 | dasm_put(Dst, 5397); |
7105 | if (op == BC_JFORI || op == BC_JFORL) { | 7139 | if (op == BC_JFORI || op == BC_JFORL) { |
7106 | dasm_put(Dst, 5342, BC_JLOOP); | 7140 | dasm_put(Dst, 5402, BC_JLOOP); |
7107 | } | 7141 | } |
7108 | dasm_put(Dst, 5345); | 7142 | dasm_put(Dst, 5405); |
7109 | if (!vk) { | 7143 | if (!vk) { |
7110 | dasm_put(Dst, 5352); | 7144 | dasm_put(Dst, 5412); |
7111 | } else { | 7145 | } else { |
7112 | dasm_put(Dst, 5354); | 7146 | dasm_put(Dst, 5414); |
7113 | } | 7147 | } |
7114 | dasm_put(Dst, 5356); | 7148 | dasm_put(Dst, 5416); |
7115 | if (!vk) { | 7149 | if (!vk) { |
7116 | dasm_put(Dst, 5360, -LJ_TISNUM, -LJ_TISNUM); | 7150 | dasm_put(Dst, 5420, -LJ_TISNUM, -LJ_TISNUM); |
7117 | } else { | 7151 | } else { |
7118 | dasm_put(Dst, 5372); | 7152 | dasm_put(Dst, 5432); |
7119 | } | 7153 | } |
7120 | dasm_put(Dst, 5381); | 7154 | dasm_put(Dst, 5441); |
7121 | if (op == BC_FORI) { | 7155 | if (op == BC_FORI) { |
7122 | dasm_put(Dst, 5385); | 7156 | dasm_put(Dst, 5445); |
7123 | } else if (op == BC_JFORI) { | 7157 | } else if (op == BC_JFORI) { |
7124 | dasm_put(Dst, 5387, BC_JLOOP); | 7158 | dasm_put(Dst, 5447, BC_JLOOP); |
7125 | } else if (op == BC_IFORL) { | 7159 | } else if (op == BC_IFORL) { |
7126 | dasm_put(Dst, 5392); | 7160 | dasm_put(Dst, 5452); |
7127 | } else { | 7161 | } else { |
7128 | dasm_put(Dst, 5394, BC_JLOOP); | 7162 | dasm_put(Dst, 5454, BC_JLOOP); |
7129 | } | 7163 | } |
7130 | dasm_put(Dst, 5397); | 7164 | dasm_put(Dst, 5457); |
7131 | if (vk) { | 7165 | if (vk) { |
7132 | dasm_put(Dst, 5403); | 7166 | dasm_put(Dst, 5463); |
7133 | } | 7167 | } |
7134 | dasm_put(Dst, 5408); | 7168 | dasm_put(Dst, 5468); |
7135 | break; | 7169 | break; |
7136 | 7170 | ||
7137 | case BC_ITERL: | 7171 | case BC_ITERL: |
7138 | #if LJ_HASJIT | 7172 | #if LJ_HASJIT |
7139 | dasm_put(Dst, 5414, -GG_DISP2HOT); | 7173 | dasm_put(Dst, 5474, -GG_DISP2HOT); |
7140 | #endif | 7174 | #endif |
7141 | break; | 7175 | break; |
7142 | 7176 | ||
@@ -7145,40 +7179,40 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
7145 | break; | 7179 | break; |
7146 | #endif | 7180 | #endif |
7147 | case BC_IITERL: | 7181 | case BC_IITERL: |
7148 | dasm_put(Dst, 5424); | 7182 | dasm_put(Dst, 5484); |
7149 | if (op == BC_JITERL) { | 7183 | if (op == BC_JITERL) { |
7150 | dasm_put(Dst, 5426, -LJ_TNIL, BC_JLOOP); | 7184 | dasm_put(Dst, 5486, -LJ_TNIL, BC_JLOOP); |
7151 | } else { | 7185 | } else { |
7152 | dasm_put(Dst, 5432, -LJ_TNIL); | 7186 | dasm_put(Dst, 5492, -LJ_TNIL); |
7153 | } | 7187 | } |
7154 | dasm_put(Dst, 5438); | 7188 | dasm_put(Dst, 5498); |
7155 | break; | 7189 | break; |
7156 | 7190 | ||
7157 | case BC_LOOP: | 7191 | case BC_LOOP: |
7158 | #if LJ_HASJIT | 7192 | #if LJ_HASJIT |
7159 | dasm_put(Dst, 5445, -GG_DISP2HOT); | 7193 | dasm_put(Dst, 5505, -GG_DISP2HOT); |
7160 | #endif | 7194 | #endif |
7161 | break; | 7195 | break; |
7162 | 7196 | ||
7163 | case BC_ILOOP: | 7197 | case BC_ILOOP: |
7164 | dasm_put(Dst, 5455); | 7198 | dasm_put(Dst, 5515); |
7165 | break; | 7199 | break; |
7166 | 7200 | ||
7167 | case BC_JLOOP: | 7201 | case BC_JLOOP: |
7168 | #if LJ_HASJIT | 7202 | #if LJ_HASJIT |
7169 | dasm_put(Dst, 5462, DISPATCH_J(trace), DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); | 7203 | dasm_put(Dst, 5522, DISPATCH_J(trace), DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L)); |
7170 | #endif | 7204 | #endif |
7171 | break; | 7205 | break; |
7172 | 7206 | ||
7173 | case BC_JMP: | 7207 | case BC_JMP: |
7174 | dasm_put(Dst, 5476); | 7208 | dasm_put(Dst, 5536); |
7175 | break; | 7209 | break; |
7176 | 7210 | ||
7177 | /* -- Function headers -------------------------------------------------- */ | 7211 | /* -- Function headers -------------------------------------------------- */ |
7178 | 7212 | ||
7179 | case BC_FUNCF: | 7213 | case BC_FUNCF: |
7180 | #if LJ_HASJIT | 7214 | #if LJ_HASJIT |
7181 | dasm_put(Dst, 5485, -GG_DISP2HOT); | 7215 | dasm_put(Dst, 5545, -GG_DISP2HOT); |
7182 | #endif | 7216 | #endif |
7183 | case BC_FUNCV: /* NYI: compiled vararg functions. */ | 7217 | case BC_FUNCV: /* NYI: compiled vararg functions. */ |
7184 | break; | 7218 | break; |
@@ -7188,42 +7222,42 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop) | |||
7188 | break; | 7222 | break; |
7189 | #endif | 7223 | #endif |
7190 | case BC_IFUNCF: | 7224 | case BC_IFUNCF: |
7191 | dasm_put(Dst, 5495, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k)); | 7225 | dasm_put(Dst, 5555, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k)); |
7192 | if (op != BC_JFUNCF) { | 7226 | if (op != BC_JFUNCF) { |
7193 | dasm_put(Dst, 5505); | 7227 | dasm_put(Dst, 5565); |
7194 | } | 7228 | } |
7195 | dasm_put(Dst, 5508, ~LJ_TNIL); | 7229 | dasm_put(Dst, 5568, ~LJ_TNIL); |
7196 | if (op == BC_JFUNCF) { | 7230 | if (op == BC_JFUNCF) { |
7197 | dasm_put(Dst, 5515, BC_JLOOP); | 7231 | dasm_put(Dst, 5575, BC_JLOOP); |
7198 | } else { | 7232 | } else { |
7199 | dasm_put(Dst, 5519); | 7233 | dasm_put(Dst, 5579); |
7200 | } | 7234 | } |
7201 | dasm_put(Dst, 5524); | 7235 | dasm_put(Dst, 5584); |
7202 | break; | 7236 | break; |
7203 | 7237 | ||
7204 | case BC_JFUNCV: | 7238 | case BC_JFUNCV: |
7205 | #if !LJ_HASJIT | 7239 | #if !LJ_HASJIT |
7206 | break; | 7240 | break; |
7207 | #endif | 7241 | #endif |
7208 | dasm_put(Dst, 5530); | 7242 | dasm_put(Dst, 5590); |
7209 | break; /* NYI: compiled vararg functions. */ | 7243 | break; /* NYI: compiled vararg functions. */ |
7210 | 7244 | ||
7211 | case BC_IFUNCV: | 7245 | case BC_IFUNCV: |
7212 | dasm_put(Dst, 5532, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL); | 7246 | dasm_put(Dst, 5592, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL); |
7213 | break; | 7247 | break; |
7214 | 7248 | ||
7215 | case BC_FUNCC: | 7249 | case BC_FUNCC: |
7216 | case BC_FUNCCW: | 7250 | case BC_FUNCCW: |
7217 | if (op == BC_FUNCC) { | 7251 | if (op == BC_FUNCC) { |
7218 | dasm_put(Dst, 5573, Dt8(->f)); | 7252 | dasm_put(Dst, 5633, Dt8(->f)); |
7219 | } else { | 7253 | } else { |
7220 | dasm_put(Dst, 5576, DISPATCH_GL(wrapf)); | 7254 | dasm_put(Dst, 5636, DISPATCH_GL(wrapf)); |
7221 | } | 7255 | } |
7222 | dasm_put(Dst, 5579, Dt1(->maxstack), Dt1(->base), Dt1(->top)); | 7256 | dasm_put(Dst, 5639, Dt1(->maxstack), Dt1(->base), Dt1(->top)); |
7223 | if (op == BC_FUNCCW) { | 7257 | if (op == BC_FUNCCW) { |
7224 | dasm_put(Dst, 5589, Dt8(->f)); | 7258 | dasm_put(Dst, 5649, Dt8(->f)); |
7225 | } | 7259 | } |
7226 | dasm_put(Dst, 5592, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate)); | 7260 | dasm_put(Dst, 5652, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate)); |
7227 | break; | 7261 | break; |
7228 | 7262 | ||
7229 | /* ---------------------------------------------------------------------- */ | 7263 | /* ---------------------------------------------------------------------- */ |
@@ -7243,7 +7277,7 @@ static int build_backend(BuildCtx *ctx) | |||
7243 | 7277 | ||
7244 | build_subroutines(ctx); | 7278 | build_subroutines(ctx); |
7245 | 7279 | ||
7246 | dasm_put(Dst, 5614); | 7280 | dasm_put(Dst, 5674); |
7247 | for (op = 0; op < BC__MAX; op++) | 7281 | for (op = 0; op < BC__MAX; op++) |
7248 | build_ins(ctx, (BCOp)op, op); | 7282 | build_ins(ctx, (BCOp)op, op); |
7249 | 7283 | ||
@@ -7285,7 +7319,6 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
7285 | fprintf(ctx->fp, | 7319 | fprintf(ctx->fp, |
7286 | "\t.align 2\n" | 7320 | "\t.align 2\n" |
7287 | ".LEFDE0:\n\n"); | 7321 | ".LEFDE0:\n\n"); |
7288 | /* NYI: emit ARM.exidx. */ | ||
7289 | break; | 7322 | break; |
7290 | default: | 7323 | default: |
7291 | break; | 7324 | break; |
diff --git a/src/lib_math.c b/src/lib_math.c index 917b5e7b..599f948e 100644 --- a/src/lib_math.c +++ b/src/lib_math.c | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | #include "lj_obj.h" | 15 | #include "lj_obj.h" |
16 | #include "lj_lib.h" | 16 | #include "lj_lib.h" |
17 | #include "lj_vm.h" | ||
17 | 18 | ||
18 | /* ------------------------------------------------------------------------ */ | 19 | /* ------------------------------------------------------------------------ */ |
19 | 20 | ||
@@ -162,7 +163,7 @@ LJLIB_CF(math_random) LJLIB_REC(.) | |||
162 | double r1 = lj_lib_checknum(L, 1); | 163 | double r1 = lj_lib_checknum(L, 1); |
163 | #endif | 164 | #endif |
164 | if (n == 1) { | 165 | if (n == 1) { |
165 | d = floor(d*r1) + 1.0; /* d is an int in range [1, r1] */ | 166 | d = lj_vm_floor(d*r1) + 1.0; /* d is an int in range [1, r1] */ |
166 | } else { | 167 | } else { |
167 | #if LJ_DUALNUM | 168 | #if LJ_DUALNUM |
168 | double r2; | 169 | double r2; |
@@ -176,7 +177,7 @@ LJLIB_CF(math_random) LJLIB_REC(.) | |||
176 | #else | 177 | #else |
177 | double r2 = lj_lib_checknum(L, 2); | 178 | double r2 = lj_lib_checknum(L, 2); |
178 | #endif | 179 | #endif |
179 | d = floor(d*(r2-r1+1.0)) + r1; /* d is an int in range [r1, r2] */ | 180 | d = lj_vm_floor(d*(r2-r1+1.0)) + r1; /* d is an int in range [r1, r2] */ |
180 | } | 181 | } |
181 | #if LJ_DUALNUM | 182 | #if LJ_DUALNUM |
182 | if (isint) { | 183 | if (isint) { |
diff --git a/src/lj_vm.h b/src/lj_vm.h index ba624dad..3f6777ad 100644 --- a/src/lj_vm.h +++ b/src/lj_vm.h | |||
@@ -45,7 +45,15 @@ LJ_ASMF void lj_vm_callhook(void); | |||
45 | LJ_ASMF void lj_vm_exit_handler(void); | 45 | LJ_ASMF void lj_vm_exit_handler(void); |
46 | LJ_ASMF void lj_vm_exit_interp(void); | 46 | LJ_ASMF void lj_vm_exit_interp(void); |
47 | 47 | ||
48 | /* Handlers callable from compiled code. */ | 48 | /* Internal math helper functions. */ |
49 | #if LJ_TARGET_X86ORX64 | ||
50 | #define lj_vm_floor(x) floor(x) | ||
51 | #define lj_vm_ceil(x) ceil(x) | ||
52 | #else | ||
53 | LJ_ASMF double lj_vm_floor(double); | ||
54 | LJ_ASMF double lj_vm_ceil(double); | ||
55 | #endif | ||
56 | |||
49 | #if LJ_HASJIT | 57 | #if LJ_HASJIT |
50 | #if LJ_TARGET_X86ORX64 | 58 | #if LJ_TARGET_X86ORX64 |
51 | LJ_ASMF void lj_vm_floor_sse(void); | 59 | LJ_ASMF void lj_vm_floor_sse(void); |
@@ -56,8 +64,6 @@ LJ_ASMF void lj_vm_exp2_x87(void); | |||
56 | LJ_ASMF void lj_vm_pow_sse(void); | 64 | LJ_ASMF void lj_vm_pow_sse(void); |
57 | LJ_ASMF void lj_vm_powi_sse(void); | 65 | LJ_ASMF void lj_vm_powi_sse(void); |
58 | #else | 66 | #else |
59 | LJ_ASMF double lj_vm_floor(double); | ||
60 | LJ_ASMF double lj_vm_ceil(double); | ||
61 | LJ_ASMF double lj_vm_trunc(double); | 67 | LJ_ASMF double lj_vm_trunc(double); |
62 | LJ_ASMF double lj_vm_powi(double, int32_t); | 68 | LJ_ASMF double lj_vm_powi(double, int32_t); |
63 | #if defined(__ANDROID__) || defined(__symbian__) | 69 | #if defined(__ANDROID__) || defined(__symbian__) |