diff options
author | Mike Pall <mike> | 2010-12-08 02:11:18 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-08 02:11:18 +0100 |
commit | d778680098f630f4c74324f2fad27bb088d29d78 (patch) | |
tree | 1514d4a4fecb1ca6bc28281b6be713e7bbdb0f34 /src/lj_ir.h | |
parent | 2a917a9d83baa1fade1b5704705759e8840fa237 (diff) | |
download | luajit-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.h | 8 |
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 | ||
189 | typedef enum { | 191 | typedef 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)) |