def do_setfield_raw(self, structbox, newvaluebox, fielddescr): assert isinstance(fielddescr, Descr) struct = self.cast_int_to_adr(structbox.getint()) if fielddescr.typeinfo == REF: newvalue = newvaluebox.getref_base() llimpl.do_setfield_raw_ptr(struct, fielddescr.ofs, newvalue, self.memo_cast) elif fielddescr.typeinfo == INT: newvalue = newvaluebox.getint() llimpl.do_setfield_raw_int(struct, fielddescr.ofs, newvalue, self.memo_cast) elif fielddescr.typeinfo == FLOAT: newvalue = newvaluebox.getfloat() llimpl.do_setfield_raw_float(struct, fielddescr.ofs, newvalue, self.memo_cast) else: raise NotImplementedError
def bh_setfield_raw_i(self, struct, fielddescr, newvalue): assert isinstance(fielddescr, Descr) llimpl.do_setfield_raw_int(struct, fielddescr.ofs, newvalue)