diff options
author | Mike Pall <mike> | 2011-02-15 01:02:08 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-02-15 01:02:08 +0100 |
commit | 4dca589af02ee20edfd797ca041ab8d2daf4caed (patch) | |
tree | c77c4b6fcb3a6f1cec62eee4934172932530c626 /src/lj_record.c | |
parent | 4117a61620ab6a26368b4cdf110c81c22ea3bf4f (diff) | |
download | luajit-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.c | 3 |
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); |