aboutsummaryrefslogtreecommitdiff
path: root/src/lj_cdata.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_cdata.h')
-rw-r--r--src/lj_cdata.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lj_cdata.h b/src/lj_cdata.h
index 38b6ce16..27b0bf15 100644
--- a/src/lj_cdata.h
+++ b/src/lj_cdata.h
@@ -45,6 +45,15 @@ static LJ_AINLINE GCcdata *lj_cdata_new(CTState *cts, CTypeID id, CTSize sz)
45 return cd; 45 return cd;
46} 46}
47 47
48/* Variant which works without a valid CTState. */
49static LJ_AINLINE GCcdata *lj_cdata_new_(lua_State *L, CTypeID id, CTSize sz)
50{
51 GCcdata *cd = (GCcdata *)lj_mem_newgco(L, sizeof(GCcdata) + sz);
52 cd->gct = ~LJ_TCDATA;
53 cd->typeid = id;
54 return cd;
55}
56
48LJ_FUNC GCcdata *lj_cdata_newref(CTState *cts, const void *pp, CTypeID id); 57LJ_FUNC GCcdata *lj_cdata_newref(CTState *cts, const void *pp, CTypeID id);
49LJ_FUNC GCcdata *lj_cdata_newv(CTState *cts, CTypeID id, CTSize sz, 58LJ_FUNC GCcdata *lj_cdata_newv(CTState *cts, CTypeID id, CTSize sz,
50 CTSize align); 59 CTSize align);