diff options
Diffstat (limited to 'src/vm_arm.dasc')
-rw-r--r-- | src/vm_arm.dasc | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc index 5c149bc4..0c542e1e 100644 --- a/src/vm_arm.dasc +++ b/src/vm_arm.dasc | |||
@@ -1782,33 +1782,6 @@ static void build_subroutines(BuildCtx *ctx) | |||
1782 | | mvn CARG2, #~LJ_TSTR | 1782 | | mvn CARG2, #~LJ_TSTR |
1783 | | b ->fff_restv | 1783 | | b ->fff_restv |
1784 | | | 1784 | | |
1785 | |.ffunc string_rep // Only handle the 1-char case inline. | ||
1786 | | ffgccheck | ||
1787 | | ldrd CARG12, [BASE] | ||
1788 | | ldrd CARG34, [BASE, #8] | ||
1789 | | cmp NARGS8:RC, #16 | ||
1790 | | bne ->fff_fallback // Exactly 2 arguments | ||
1791 | | checktp CARG2, LJ_TSTR | ||
1792 | | checktpeq CARG4, LJ_TISNUM | ||
1793 | | bne ->fff_fallback | ||
1794 | | subs CARG4, CARG3, #1 | ||
1795 | | ldr CARG2, STR:CARG1->len | ||
1796 | | blt ->fff_emptystr // Count <= 0? | ||
1797 | | cmp CARG2, #1 | ||
1798 | | blo ->fff_emptystr // Zero-length string? | ||
1799 | | bne ->fff_fallback // Fallback for > 1-char strings. | ||
1800 | | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.b)] | ||
1801 | | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.e)] | ||
1802 | | ldr CARG1, STR:CARG1[1] | ||
1803 | | add INS, CARG2, CARG3 | ||
1804 | | cmp RB, INS | ||
1805 | | blo ->fff_fallback | ||
1806 | |1: // Fill buffer with char. | ||
1807 | | strb CARG1, [CARG2, CARG4] | ||
1808 | | subs CARG4, CARG4, #1 | ||
1809 | | bge <1 | ||
1810 | | b ->fff_newstr | ||
1811 | | | ||
1812 | |.macro ffstring_op, name | 1785 | |.macro ffstring_op, name |
1813 | | .ffunc string_ .. name | 1786 | | .ffunc string_ .. name |
1814 | | ffgccheck | 1787 | | ffgccheck |