Exemple #1
0
 def do_setarrayitem_gc(self, arraybox, indexbox, newvaluebox, arraydescr):
     assert isinstance(arraydescr, Descr)
     array = arraybox.getref_base()
     index = indexbox.getint()
     if arraydescr.typeinfo == REF:
         newvalue = newvaluebox.getref_base()
         llimpl.do_setarrayitem_gc_ptr(array, index, newvalue)
     elif arraydescr.typeinfo == INT:
         newvalue = newvaluebox.getint()
         llimpl.do_setarrayitem_gc_int(array, index, newvalue,
                                       self.memo_cast)
     elif arraydescr.typeinfo == FLOAT:
         newvalue = newvaluebox.getfloat()
         llimpl.do_setarrayitem_gc_float(array, index, newvalue)
     else:
         raise NotImplementedError
Exemple #2
0
 def do_setarrayitem_gc(self, arraybox, indexbox, newvaluebox, arraydescr):
     assert isinstance(arraydescr, Descr)
     array = arraybox.getref_base()
     index = indexbox.getint()
     if arraydescr.typeinfo == REF:
         newvalue = newvaluebox.getref_base()
         llimpl.do_setarrayitem_gc_ptr(array, index, newvalue)
     elif arraydescr.typeinfo == INT:
         newvalue = newvaluebox.getint()
         llimpl.do_setarrayitem_gc_int(array, index, newvalue,
                                       self.memo_cast)
     elif arraydescr.typeinfo == FLOAT:
         newvalue = newvaluebox.getfloat()
         llimpl.do_setarrayitem_gc_float(array, index, newvalue)
     else:
         raise NotImplementedError
Exemple #3
0
 def bh_setarrayitem_gc_i(self, arraydescr, array, index, newvalue):
     assert isinstance(arraydescr, Descr)
     llimpl.do_setarrayitem_gc_int(array, index, newvalue)
Exemple #4
0
 def bh_setarrayitem_gc_i(self, arraydescr, array, index, newvalue):
     assert isinstance(arraydescr, Descr)
     llimpl.do_setarrayitem_gc_int(array, index, newvalue)