]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Mon, 7 Apr 2025 08:33:15 +0000 (10:33 +0200)
committerMike Pall <mike>
Mon, 7 Apr 2025 08:33:15 +0000 (10:33 +0200)
1  2 
src/lj_load.c
src/lj_record.c

diff --cc src/lj_load.c
Simple merge
diff --cc src/lj_record.c
index c6a082d43824d63e7a1db3f944ddf7113213f833,d336f642e427288e1f1541d2e52b4f56c597e70e..ad45bebb37bdb8b965a18d47b6f7f77ca77ee882
@@@ -1107,9 -854,11 +1107,12 @@@ int lj_record_mm_lookup(jit_State *J, R
        return 0;  /* No metamethod. */
      }
      /* The cdata metatable is treated as immutable. */
-     if (LJ_HASFFI && tref_iscdata(ix->tab)) goto immutable_mt;
+     if (LJ_HASFFI && tref_iscdata(ix->tab)) {
+       mix.tab = TREF_NIL;
+       goto immutable_mt;
+     }
 -    ix->mt = mix.tab = lj_ir_ktab(J, mt);
 +    ix->mt = mix.tab = lj_ir_ggfload(J, IRT_TAB,
 +      GG_OFS(g.gcroot[GCROOT_BASEMT+itypemap(&ix->tabv)]));
      goto nocheck;
    }
    ix->mt = mt ? mix.tab : TREF_NIL;