Beispiel #1
0
 def do_setfield_gc(self, structbox, newvaluebox, fielddescr):
     assert isinstance(fielddescr, Descr)
     struct = structbox.getref_base()
     if fielddescr.typeinfo == REF:
         newvalue = newvaluebox.getref_base()
         llimpl.do_setfield_gc_ptr(struct, fielddescr.ofs, newvalue)
     elif fielddescr.typeinfo == INT:
         newvalue = newvaluebox.getint()
         llimpl.do_setfield_gc_int(struct, fielddescr.ofs, newvalue,
                                   self.memo_cast)
     elif fielddescr.typeinfo == FLOAT:
         newvalue = newvaluebox.getfloat()
         llimpl.do_setfield_gc_float(struct, fielddescr.ofs, newvalue)
     else:
         raise NotImplementedError
Beispiel #2
0
 def do_setfield_gc(self, structbox, newvaluebox, fielddescr):
     assert isinstance(fielddescr, Descr)
     struct = structbox.getref_base()
     if fielddescr.typeinfo == REF:
         newvalue = newvaluebox.getref_base()
         llimpl.do_setfield_gc_ptr(struct, fielddescr.ofs, newvalue)
     elif fielddescr.typeinfo == INT:
         newvalue = newvaluebox.getint()
         llimpl.do_setfield_gc_int(struct, fielddescr.ofs, newvalue,
                                   self.memo_cast)
     elif fielddescr.typeinfo == FLOAT:
         newvalue = newvaluebox.getfloat()
         llimpl.do_setfield_gc_float(struct, fielddescr.ofs, newvalue)
     else:
         raise NotImplementedError
Beispiel #3
0
 def bh_setfield_gc_r(self, struct, fielddescr, newvalue):
     assert isinstance(fielddescr, Descr)
     llimpl.do_setfield_gc_ptr(struct, fielddescr.ofs, newvalue)
Beispiel #4
0
 def bh_setfield_gc_r(self, struct, fielddescr, newvalue):
     assert isinstance(fielddescr, Descr)
     llimpl.do_setfield_gc_ptr(struct, fielddescr.ofs, newvalue)