Pārlūkot izejas kodu

ARM, ARM64, PPC: Fix TSETR fallback.

Thanks to Javier Guerra Giraldez.
Mike Pall 5 gadi atpakaļ
vecāks
revīzija
ae20998ff5
3 mainītis faili ar 3 papildinājumiem un 0 dzēšanām
  1. 1 0
      src/vm_arm.dasc
  2. 1 0
      src/vm_arm64.dasc
  3. 1 0
      src/vm_ppc.dasc

+ 1 - 0
src/vm_arm.dasc

@@ -699,6 +699,7 @@ static void build_subroutines(BuildCtx *ctx)
   |->vmeta_tsetr:
   |  str BASE, L->base
   |  .IOS mov RC, BASE
+  |  mov CARG1, L
   |  str PC, SAVE_PC
   |  bl extern lj_tab_setinth  // (lua_State *L, GCtab *t, int32_t key)
   |  // Returns TValue *.

+ 1 - 0
src/vm_arm64.dasc

@@ -711,6 +711,7 @@ static void build_subroutines(BuildCtx *ctx)
   |->vmeta_tsetr:
   |  sxtw CARG3, TMP1w
   |  str BASE, L->base
+  |  mov CARG1, L
   |  str PC, SAVE_PC
   |  bl extern lj_tab_setinth  // (lua_State *L, GCtab *t, int32_t key)
   |  // Returns TValue *.

+ 1 - 0
src/vm_ppc.dasc

@@ -1083,6 +1083,7 @@ static void build_subroutines(BuildCtx *ctx)
   |
   |->vmeta_tsetr:
   |  stp BASE, L->base
+  |  mr CARG1, L
   |  stw PC, SAVE_PC
   |  bl extern lj_tab_setinth  // (lua_State *L, GCtab *t, int32_t key)
   |  // Returns TValue *.