diff options
Diffstat (limited to 'src/lj_ir.h')
-rw-r--r-- | src/lj_ir.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lj_ir.h b/src/lj_ir.h index dfafc5db..bde0ac04 100644 --- a/src/lj_ir.h +++ b/src/lj_ir.h | |||
@@ -113,7 +113,7 @@ | |||
113 | _(TNEW, AW, lit, lit) \ | 113 | _(TNEW, AW, lit, lit) \ |
114 | _(TDUP, AW, ref, ___) \ | 114 | _(TDUP, AW, ref, ___) \ |
115 | _(CNEW, AW, ref, ref) \ | 115 | _(CNEW, AW, ref, ref) \ |
116 | _(CNEWP, NW, ref, ref) /* CSE is ok, not marked as A. */ \ | 116 | _(CNEWI, NW, ref, ref) /* CSE is ok, not marked as A. */ \ |
117 | \ | 117 | \ |
118 | /* Write barriers. */ \ | 118 | /* Write barriers. */ \ |
119 | _(TBAR, S , ref, ___) \ | 119 | _(TBAR, S , ref, ___) \ |
@@ -188,7 +188,9 @@ IRFPMDEF(FPMENUM) | |||
188 | _(UDATA_UDTYPE, offsetof(GCudata, udtype)) \ | 188 | _(UDATA_UDTYPE, offsetof(GCudata, udtype)) \ |
189 | _(UDATA_FILE, sizeof(GCudata)) \ | 189 | _(UDATA_FILE, sizeof(GCudata)) \ |
190 | _(CDATA_TYPEID, offsetof(GCcdata, typeid)) \ | 190 | _(CDATA_TYPEID, offsetof(GCcdata, typeid)) \ |
191 | _(CDATA_PTR, sizeof(GCcdata)) | 191 | _(CDATA_PTR, sizeof(GCcdata)) \ |
192 | _(CDATA_INT64, sizeof(GCcdata)) \ | ||
193 | _(CDATA_INT64HI, sizeof(GCcdata) + 4) | ||
192 | 194 | ||
193 | typedef enum { | 195 | typedef enum { |
194 | #define FLENUM(name, ofs) IRFL_##name, | 196 | #define FLENUM(name, ofs) IRFL_##name, |
@@ -588,12 +590,12 @@ typedef union IRIns { | |||
588 | #define ir_kptr(ir) \ | 590 | #define ir_kptr(ir) \ |
589 | check_exp((ir)->o == IR_KPTR || (ir)->o == IR_KKPTR, mref((ir)->ptr, void)) | 591 | check_exp((ir)->o == IR_KPTR || (ir)->o == IR_KKPTR, mref((ir)->ptr, void)) |
590 | 592 | ||
593 | LJ_STATIC_ASSERT((int)IRT_GUARD == (int)IRM_W); | ||
594 | |||
591 | /* A store or any other op with a non-weak guard has a side-effect. */ | 595 | /* A store or any other op with a non-weak guard has a side-effect. */ |
592 | static LJ_AINLINE int ir_sideeff(IRIns *ir) | 596 | static LJ_AINLINE int ir_sideeff(IRIns *ir) |
593 | { | 597 | { |
594 | return (((ir->t.irt | ~IRT_GUARD) & lj_ir_mode[ir->o]) >= IRM_S); | 598 | return (((ir->t.irt | ~IRT_GUARD) & lj_ir_mode[ir->o]) >= IRM_S); |
595 | } | 599 | } |
596 | 600 | ||
597 | LJ_STATIC_ASSERT((int)IRT_GUARD == (int)IRM_W); | ||
598 | |||
599 | #endif | 601 | #endif |