aboutsummaryrefslogtreecommitdiff
path: root/src/lj_ir.h
diff options
context:
space:
mode:
authorMike Pall <mike>2010-12-08 02:11:18 +0100
committerMike Pall <mike>2010-12-08 02:11:18 +0100
commitd778680098f630f4c74324f2fad27bb088d29d78 (patch)
tree1514d4a4fecb1ca6bc28281b6be713e7bbdb0f34 /src/lj_ir.h
parent2a917a9d83baa1fade1b5704705759e8840fa237 (diff)
downloadluajit-d778680098f630f4c74324f2fad27bb088d29d78.tar.gz
luajit-d778680098f630f4c74324f2fad27bb088d29d78.tar.bz2
luajit-d778680098f630f4c74324f2fad27bb088d29d78.zip
FFI: Record cdata index operations (preliminary, lots of NYI cases).
Diffstat (limited to 'src/lj_ir.h')
-rw-r--r--src/lj_ir.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lj_ir.h b/src/lj_ir.h
index 72c37343..7814df34 100644
--- a/src/lj_ir.h
+++ b/src/lj_ir.h
@@ -184,7 +184,9 @@ IRFPMDEF(FPMENUM)
184 _(TAB_NOMM, offsetof(GCtab, nomm)) \ 184 _(TAB_NOMM, offsetof(GCtab, nomm)) \
185 _(UDATA_META, offsetof(GCudata, metatable)) \ 185 _(UDATA_META, offsetof(GCudata, metatable)) \
186 _(UDATA_UDTYPE, offsetof(GCudata, udtype)) \ 186 _(UDATA_UDTYPE, offsetof(GCudata, udtype)) \
187 _(UDATA_FILE, sizeof(GCudata)) 187 _(UDATA_FILE, sizeof(GCudata)) \
188 _(CDATA_TYPEID, offsetof(GCcdata, typeid)) \
189 _(CDATA_DATA, sizeof(GCcdata))
188 190
189typedef enum { 191typedef enum {
190#define FLENUM(name, ofs) IRFL_##name, 192#define FLENUM(name, ofs) IRFL_##name,
@@ -342,8 +344,9 @@ typedef enum {
342 IRT_U64, 344 IRT_U64,
343 /* There is room for 10 more types. */ 345 /* There is room for 10 more types. */
344 346
345 /* Native pointer type. */ 347 /* Native pointer type and the corresponding integer type. */
346 IRT_PTR = LJ_64 ? IRT_P64 : IRT_P32, 348 IRT_PTR = LJ_64 ? IRT_P64 : IRT_P32,
349 IRT_INTP = LJ_64 ? IRT_I64 : IRT_INT,
347 350
348 /* Additional flags. */ 351 /* Additional flags. */
349 IRT_MARK = 0x20, /* Marker for misc. purposes. */ 352 IRT_MARK = 0x20, /* Marker for misc. purposes. */
@@ -485,6 +488,7 @@ typedef uint32_t TRef;
485#define tref_istrue(tr) (tref_istype((tr), IRT_TRUE)) 488#define tref_istrue(tr) (tref_istype((tr), IRT_TRUE))
486#define tref_isstr(tr) (tref_istype((tr), IRT_STR)) 489#define tref_isstr(tr) (tref_istype((tr), IRT_STR))
487#define tref_isfunc(tr) (tref_istype((tr), IRT_FUNC)) 490#define tref_isfunc(tr) (tref_istype((tr), IRT_FUNC))
491#define tref_iscdata(tr) (tref_istype((tr), IRT_CDATA))
488#define tref_istab(tr) (tref_istype((tr), IRT_TAB)) 492#define tref_istab(tr) (tref_istype((tr), IRT_TAB))
489#define tref_isudata(tr) (tref_istype((tr), IRT_UDATA)) 493#define tref_isudata(tr) (tref_istype((tr), IRT_UDATA))
490#define tref_isnum(tr) (tref_istype((tr), IRT_NUM)) 494#define tref_isnum(tr) (tref_istype((tr), IRT_NUM))