diff --git a/src/buildvm_ppc.dasc b/src/buildvm_ppc.dasc index 99d98bc1..77e9b1ab 100644 --- a/src/buildvm_ppc.dasc +++ b/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 -----------------------------------------------------