]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
ARM: Add rawget() fast function.
authorMike Pall <mike>
Sun, 10 Apr 2011 14:59:00 +0000 (16:59 +0200)
committerMike Pall <mike>
Sun, 10 Apr 2011 14:59:00 +0000 (16:59 +0200)
src/buildvm_arm.dasc

index bf800eab9970b7e6defac3f451f5c473772cef0f..aefe308d6d0d0ffb317bc2f2f95197a12eb30ba4 100644 (file)
@@ -870,7 +870,17 @@ static void build_subroutines(BuildCtx *ctx)
   |  b ->fff_restv
   |
   |.ffunc rawget
-  |  NYI
+  |  ldrd CARG34, [BASE]
+  |   cmp NARGS8:RC, #16
+  |   blo ->fff_fallback
+  |   mov CARG2, CARG3
+  |  checktab CARG4, ->fff_fallback
+  |   mov CARG1, L
+  |   add CARG3, BASE, #8
+  |  bl extern lj_tab_get  // (lua_State *L, GCtab *t, cTValue *key)
+  |  // Returns cTValue *.
+  |  ldrd CARG12, [CRET1]
+  |  b ->fff_restv
   |
   |//-- Base library: conversions ------------------------------------------
   |