summaryrefslogtreecommitdiff
path: root/src/lj_record.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-02-15 01:02:08 +0100
committerMike Pall <mike>2011-02-15 01:02:08 +0100
commit4dca589af02ee20edfd797ca041ab8d2daf4caed (patch)
treec77c4b6fcb3a6f1cec62eee4934172932530c626 /src/lj_record.c
parent4117a61620ab6a26368b4cdf110c81c22ea3bf4f (diff)
downloadluajit-4dca589af02ee20edfd797ca041ab8d2daf4caed.tar.gz
luajit-4dca589af02ee20edfd797ca041ab8d2daf4caed.tar.bz2
luajit-4dca589af02ee20edfd797ca041ab8d2daf4caed.zip
Add workaround for lj_meta_tset() newkey inconsistency.
Diffstat (limited to 'src/lj_record.c')
-rw-r--r--src/lj_record.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c
index 26e87ab3..6517a1b7 100644
--- a/src/lj_record.c
+++ b/src/lj_record.c
@@ -1021,7 +1021,8 @@ TRef lj_record_idx(jit_State *J, RecordIndex *ix)
1021 xref = rec_idx_key(J, ix); 1021 xref = rec_idx_key(J, ix);
1022 xrefop = IR(tref_ref(xref))->o; 1022 xrefop = IR(tref_ref(xref))->o;
1023 loadop = xrefop == IR_AREF ? IR_ALOAD : IR_HLOAD; 1023 loadop = xrefop == IR_AREF ? IR_ALOAD : IR_HLOAD;
1024 oldv = ix->oldv; 1024 /* NYI: workaround until lj_meta_tset() inconsistency is solved. */
1025 oldv = xrefop == IR_KKPTR ? (cTValue *)ir_kptr(IR(tref_ref(xref))) : ix->oldv;
1025 1026
1026 if (ix->val == 0) { /* Indexed load */ 1027 if (ix->val == 0) { /* Indexed load */
1027 IRType t = itype2irt(oldv); 1028 IRType t = itype2irt(oldv);