aboutsummaryrefslogtreecommitdiff
path: root/src/lj_ir.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_ir.h')
-rw-r--r--src/lj_ir.h10
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
193typedef enum { 195typedef 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
593LJ_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. */
592static LJ_AINLINE int ir_sideeff(IRIns *ir) 596static 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
597LJ_STATIC_ASSERT((int)IRT_GUARD == (int)IRM_W);
598
599#endif 601#endif