Bläddra i källkod

PPC: Add argument coercion for BC_FORI.

Mike Pall 15 år sedan
förälder
incheckning
90f22760af
1 ändrade filer med 18 tillägg och 1 borttagningar
  1. 18 1
      src/buildvm_ppc.dasc

+ 18 - 1
src/buildvm_ppc.dasc

@@ -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 -----------------------------------------------------