summaryrefslogtreecommitdiff
path: root/src/lj_gc.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-02-28 16:48:13 +0100
committerMike Pall <mike>2011-02-28 16:48:13 +0100
commit83a37aeca74724ef76dee7c8246bdbb88132940d (patch)
tree9dca0cd0aa13cf911ad26c3655533a72bb6790a9 /src/lj_gc.h
parentcead25f928ac606fc1a13882b818913aab3635a9 (diff)
downloadluajit-83a37aeca74724ef76dee7c8246bdbb88132940d.tar.gz
luajit-83a37aeca74724ef76dee7c8246bdbb88132940d.tar.bz2
luajit-83a37aeca74724ef76dee7c8246bdbb88132940d.zip
FFI: Add ffi.gc() function for finalization of cdata objects.
Diffstat (limited to 'src/lj_gc.h')
-rw-r--r--src/lj_gc.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lj_gc.h b/src/lj_gc.h
index 75b38db8..e3973d8e 100644
--- a/src/lj_gc.h
+++ b/src/lj_gc.h
@@ -20,6 +20,7 @@ enum {
20#define LJ_GC_FINALIZED 0x08 20#define LJ_GC_FINALIZED 0x08
21#define LJ_GC_WEAKKEY 0x08 21#define LJ_GC_WEAKKEY 0x08
22#define LJ_GC_WEAKVAL 0x10 22#define LJ_GC_WEAKVAL 0x10
23#define LJ_GC_CDATA_FIN 0x10
23#define LJ_GC_FIXED 0x20 24#define LJ_GC_FIXED 0x20
24#define LJ_GC_SFIXED 0x40 25#define LJ_GC_SFIXED 0x40
25 26
@@ -42,7 +43,12 @@ enum {
42 43
43/* Collector. */ 44/* Collector. */
44LJ_FUNC size_t lj_gc_separateudata(global_State *g, int all); 45LJ_FUNC size_t lj_gc_separateudata(global_State *g, int all);
45LJ_FUNC void lj_gc_finalizeudata(lua_State *L); 46LJ_FUNC void lj_gc_finalize_udata(lua_State *L);
47#if LJ_HASFFI
48LJ_FUNC void lj_gc_finalize_cdata(lua_State *L);
49#else
50#define lj_gc_finalize_cdata(L) UNUSED(L)
51#endif
46LJ_FUNC void lj_gc_freeall(global_State *g); 52LJ_FUNC void lj_gc_freeall(global_State *g);
47LJ_FUNCA int LJ_FASTCALL lj_gc_step(lua_State *L); 53LJ_FUNCA int LJ_FASTCALL lj_gc_step(lua_State *L);
48LJ_FUNCA void LJ_FASTCALL lj_gc_step_fixtop(lua_State *L); 54LJ_FUNCA void LJ_FASTCALL lj_gc_step_fixtop(lua_State *L);