summaryrefslogtreecommitdiff
path: root/src/lj_ir.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-03-07 20:21:38 +0100
committerMike Pall <mike>2011-03-07 20:21:38 +0100
commit54978e481befa5988df1dc3edc76c9467d5c47b4 (patch)
tree5095152718f54b08f0f4d3f9fe4f566a4c5ee590 /src/lj_ir.h
parenta30f58b54ba645ec0b1efe7087f615451033eb38 (diff)
downloadluajit-54978e481befa5988df1dc3edc76c9467d5c47b4.tar.gz
luajit-54978e481befa5988df1dc3edc76c9467d5c47b4.tar.bz2
luajit-54978e481befa5988df1dc3edc76c9467d5c47b4.zip
DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV.
Diffstat (limited to 'src/lj_ir.h')
-rw-r--r--src/lj_ir.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lj_ir.h b/src/lj_ir.h
index 4813f250..060cf562 100644
--- a/src/lj_ir.h
+++ b/src/lj_ir.h
@@ -35,6 +35,7 @@
35 _(BASE, N , lit, lit) \ 35 _(BASE, N , lit, lit) \
36 _(HIOP, S , ref, ref) \ 36 _(HIOP, S , ref, ref) \
37 _(LOOP, S , ___, ___) \ 37 _(LOOP, S , ___, ___) \
38 _(USE, S , ref, ___) \
38 _(PHI, S , ref, ref) \ 39 _(PHI, S , ref, ref) \
39 _(RENAME, S , ref, lit) \ 40 _(RENAME, S , ref, lit) \
40 \ 41 \
@@ -78,8 +79,9 @@
78 _(FPMATH, N , ref, lit) \ 79 _(FPMATH, N , ref, lit) \
79 \ 80 \
80 /* Overflow-checking arithmetic ops. */ \ 81 /* Overflow-checking arithmetic ops. */ \
81 _(ADDOV, C , ref, ref) \ 82 _(ADDOV, CW, ref, ref) \
82 _(SUBOV, N , ref, ref) \ 83 _(SUBOV, NW, ref, ref) \
84 _(MULOV, CW, ref, ref) \
83 \ 85 \
84 /* Memory ops. A = array, H = hash, U = upvalue, F = field, S = stack. */ \ 86 /* Memory ops. A = array, H = hash, U = upvalue, F = field, S = stack. */ \
85 \ 87 \
@@ -339,6 +341,7 @@ typedef enum {
339#define IRM_W 0x80 341#define IRM_W 0x80
340 342
341#define IRM_NW (IRM_N|IRM_W) 343#define IRM_NW (IRM_N|IRM_W)
344#define IRM_CW (IRM_C|IRM_W)
342#define IRM_AW (IRM_A|IRM_W) 345#define IRM_AW (IRM_A|IRM_W)
343#define IRM_LW (IRM_L|IRM_W) 346#define IRM_LW (IRM_L|IRM_W)
344 347