mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
FFI: ctypeid of ctype object is immutable.
This commit is contained in:
parent
d4d9807f45
commit
e013206dd8
@ -61,8 +61,7 @@ static CTypeID crec_constructor(jit_State *J, GCcdata *cd, TRef tr)
|
|||||||
CTypeID id;
|
CTypeID id;
|
||||||
lua_assert(tref_iscdata(tr) && cd->ctypeid == CTID_CTYPEID);
|
lua_assert(tref_iscdata(tr) && cd->ctypeid == CTID_CTYPEID);
|
||||||
id = *(CTypeID *)cdataptr(cd);
|
id = *(CTypeID *)cdataptr(cd);
|
||||||
tr = emitir(IRT(IR_ADD, IRT_PTR), tr, lj_ir_kintp(J, sizeof(GCcdata)));
|
tr = emitir(IRT(IR_FLOAD, IRT_INT), tr, IRFL_CDATA_INT);
|
||||||
tr = emitir(IRT(IR_XLOAD, IRT_INT), tr, 0);
|
|
||||||
emitir(IRTG(IR_EQ, IRT_INT), tr, lj_ir_kint(J, (int32_t)id));
|
emitir(IRTG(IR_EQ, IRT_INT), tr, lj_ir_kint(J, (int32_t)id));
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
@ -1992,6 +1992,7 @@ LJFOLDF(fload_cdata_typeid_kgc)
|
|||||||
|
|
||||||
/* Get the contents of immutable cdata objects. */
|
/* Get the contents of immutable cdata objects. */
|
||||||
LJFOLD(FLOAD KGC IRFL_CDATA_PTR)
|
LJFOLD(FLOAD KGC IRFL_CDATA_PTR)
|
||||||
|
LJFOLD(FLOAD KGC IRFL_CDATA_INT)
|
||||||
LJFOLD(FLOAD KGC IRFL_CDATA_INT64)
|
LJFOLD(FLOAD KGC IRFL_CDATA_INT64)
|
||||||
LJFOLDF(fload_cdata_int64_kgc)
|
LJFOLDF(fload_cdata_int64_kgc)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user