|
@@ -1098,11 +1098,16 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|
| checktab TAB:CARG1
|
|
|
| lwz PC, FRAME_PC(BASE)
|
|
|
| checkfail ->fff_fallback
|
|
|
- | lwz TAB:TMP2, TAB:CARG1->metatable
|
|
|
+#ifdef LUAJIT_ENABLE_LUA52COMPAT
|
|
|
+ | lwz TAB:TMP2, TAB:CARG1->metatable
|
|
|
| evldd CFUNC:TMP0, CFUNC:RB->upvalue[0]
|
|
|
- | cmplwi TAB:TMP2, 0
|
|
|
+ | cmplwi TAB:TMP2, 0
|
|
|
| la RA, -8(BASE)
|
|
|
- | bne ->fff_fallback
|
|
|
+ | bne ->fff_fallback
|
|
|
+#else
|
|
|
+ | evldd CFUNC:TMP0, CFUNC:RB->upvalue[0]
|
|
|
+ | la RA, -8(BASE)
|
|
|
+#endif
|
|
|
| evstdd TAB:CARG1, 0(BASE)
|
|
|
| evstdd TISNIL, 8(BASE)
|
|
|
| li RD, (3+1)*8
|
|
@@ -1153,11 +1158,16 @@ static void build_subroutines(BuildCtx *ctx)
|
|
|
| checktab TAB:CARG1
|
|
|
| lwz PC, FRAME_PC(BASE)
|
|
|
| checkfail ->fff_fallback
|
|
|
- | lwz TAB:TMP2, TAB:CARG1->metatable
|
|
|
+#ifdef LUAJIT_ENABLE_LUA52COMPAT
|
|
|
+ | lwz TAB:TMP2, TAB:CARG1->metatable
|
|
|
| evldd CFUNC:TMP0, CFUNC:RB->upvalue[0]
|
|
|
- | cmplwi TAB:TMP2, 0
|
|
|
+ | cmplwi TAB:TMP2, 0
|
|
|
| la RA, -8(BASE)
|
|
|
- | bne ->fff_fallback
|
|
|
+ | bne ->fff_fallback
|
|
|
+#else
|
|
|
+ | evldd CFUNC:TMP0, CFUNC:RB->upvalue[0]
|
|
|
+ | la RA, -8(BASE)
|
|
|
+#endif
|
|
|
| evsplati TMP1, 0
|
|
|
| evstdd TAB:CARG1, 0(BASE)
|
|
|
| evstdd TMP1, 8(BASE)
|