Bläddra i källkod

Add workaround for lj_meta_tset() newkey inconsistency.

Mike Pall 14 år sedan
förälder
incheckning
4dca589af0
1 ändrade filer med 2 tillägg och 1 borttagningar
  1. 2 1
      src/lj_record.c

+ 2 - 1
src/lj_record.c

@@ -1021,7 +1021,8 @@ TRef lj_record_idx(jit_State *J, RecordIndex *ix)
   xref = rec_idx_key(J, ix);
   xrefop = IR(tref_ref(xref))->o;
   loadop = xrefop == IR_AREF ? IR_ALOAD : IR_HLOAD;
-  oldv = ix->oldv;
+  /* NYI: workaround until lj_meta_tset() inconsistency is solved. */
+  oldv = xrefop == IR_KKPTR ? (cTValue *)ir_kptr(IR(tref_ref(xref))) : ix->oldv;
 
   if (ix->val == 0) {  /* Indexed load */
     IRType t = itype2irt(oldv);