Exemple #1
0
 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
Exemple #2
0
 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
Exemple #3
0
 def bh_setfield_raw_r(self, struct, fielddescr, newvalue):
     assert isinstance(fielddescr, Descr)
     llimpl.do_setfield_raw_ptr(struct, fielddescr.ofs, newvalue)
Exemple #4
0
 def bh_setfield_raw_r(self, struct, fielddescr, newvalue):
     assert isinstance(fielddescr, Descr)
     llimpl.do_setfield_raw_ptr(struct, fielddescr.ofs, newvalue)