]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
PPC: Add argument coercion for BC_FORI.
authorMike Pall <mike>
Fri, 10 Sep 2010 23:53:59 +0000 (01:53 +0200)
committerMike Pall <mike>
Fri, 10 Sep 2010 23:53:59 +0000 (01:53 +0200)
src/buildvm_ppc.dasc

index 99d98bc1e2eb4b262beee5f112eb1bb28276baf4..77e9b1abf15a5804aa814d8d4bfaae78f9151364 100644 (file)
@@ -653,7 +653,24 @@ static void build_subroutines(BuildCtx *ctx)
   |//-- Argument coercion for 'for' statement ------------------------------
   |
   |->vmeta_for:
-  |  NYI
+  |  mr CARG1, L
+  |   stw BASE, L->base
+  |  mr CARG2, RA
+  |   stw PC, SAVE_PC
+  |  mr SAVE0, INS
+  |  bl extern lj_meta_for     // (lua_State *L, TValue *base)
+#if LJ_HASJIT
+  |   decode_OP1 TMP0, SAVE0
+#endif
+  |  decode_RA8 RA, SAVE0
+#if LJ_HASJIT
+  |   cmpwi TMP0, BC_JFORI
+#endif
+  |  decode_RD8 RD, SAVE0
+#if LJ_HASJIT
+  |   beq =>BC_JFORI
+#endif
+  |  b =>BC_FORI
   |
   |//-----------------------------------------------------------------------
   |//-- Fast functions -----------------------------------------------------