aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildvm_arm.dasc19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/buildvm_arm.dasc b/src/buildvm_arm.dasc
index aa4eea8c..bcfc5387 100644
--- a/src/buildvm_arm.dasc
+++ b/src/buildvm_arm.dasc
@@ -575,7 +575,24 @@ static void build_subroutines(BuildCtx *ctx)
575 | NYI 575 | NYI
576 | 576 |
577 |.ffunc_1 tostring 577 |.ffunc_1 tostring
578 | NYI 578 | // Only handles the string or number case inline.
579 | checktp CARG2, LJ_TSTR
580 | // A __tostring method in the string base metatable is ignored.
581 | beq ->fff_restv
582 | // Handle numbers inline, unless a number base metatable is present.
583 | ldr CARG4, [DISPATCH, #DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM])]
584 | mov CARG1, L
585 | checktp CARG2, LJ_TISNUM
586 | cmpls CARG4, #0
587 | bhi ->fff_fallback
588 | str BASE, L->base
589 | mov CARG2, BASE
590 | str PC, SAVE_PC
591 | bl extern lj_str_fromnumber // (lua_State *L, cTValue *o)
592 | // Returns GCstr *.
593 | ldr BASE, L->base
594 | mvn CARG2, #~LJ_TSTR
595 | b ->fff_restv
579 | 596 |
580 |//-- Base library: iterators ------------------------------------------- 597 |//-- Base library: iterators -------------------------------------------
581 | 598 |