diff options
Diffstat (limited to 'src/lj_cdata.h')
-rw-r--r-- | src/lj_cdata.h | 9 |
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. */ | ||
49 | static 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 | |||
48 | LJ_FUNC GCcdata *lj_cdata_newref(CTState *cts, const void *pp, CTypeID id); | 57 | LJ_FUNC GCcdata *lj_cdata_newref(CTState *cts, const void *pp, CTypeID id); |
49 | LJ_FUNC GCcdata *lj_cdata_newv(CTState *cts, CTypeID id, CTSize sz, | 58 | LJ_FUNC GCcdata *lj_cdata_newv(CTState *cts, CTypeID id, CTSize sz, |
50 | CTSize align); | 59 | CTSize align); |