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;
|
||||
lua_assert(tref_iscdata(tr) && cd->ctypeid == CTID_CTYPEID);
|
||||
id = *(CTypeID *)cdataptr(cd);
|
||||
tr = emitir(IRT(IR_ADD, IRT_PTR), tr, lj_ir_kintp(J, sizeof(GCcdata)));
|
||||
tr = emitir(IRT(IR_XLOAD, IRT_INT), tr, 0);
|
||||
tr = emitir(IRT(IR_FLOAD, IRT_INT), tr, IRFL_CDATA_INT);
|
||||
emitir(IRTG(IR_EQ, IRT_INT), tr, lj_ir_kint(J, (int32_t)id));
|
||||
return id;
|
||||
}
|
||||
|
@ -1992,6 +1992,7 @@ LJFOLDF(fload_cdata_typeid_kgc)
|
||||
|
||||
/* Get the contents of immutable cdata objects. */
|
||||
LJFOLD(FLOAD KGC IRFL_CDATA_PTR)
|
||||
LJFOLD(FLOAD KGC IRFL_CDATA_INT)
|
||||
LJFOLD(FLOAD KGC IRFL_CDATA_INT64)
|
||||
LJFOLDF(fload_cdata_int64_kgc)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user