コード例 #1
0
ファイル: runner.py プロジェクト: enyst/plexnet
 def do_new_with_vtable(self, vtablebox):
     vtable = vtablebox.getint()
     size = self.class_sizes[vtable]
     result = llimpl.do_new(size.ofs)
     llimpl.do_setfield_gc_int(result, self.fielddescrof_vtable.ofs,
                               vtable, self.memo_cast)
     return history.BoxPtr(result)
コード例 #2
0
 def do_new_with_vtable(self, vtablebox):
     vtable = vtablebox.getint()
     size = self.class_sizes[vtable]
     result = llimpl.do_new(size.ofs)
     llimpl.do_setfield_gc_int(result, self.fielddescrof_vtable.ofs, vtable,
                               self.memo_cast)
     return history.BoxPtr(result)
コード例 #3
0
ファイル: runner.py プロジェクト: enyst/plexnet
 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
コード例 #4
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
コード例 #5
0
ファイル: runner.py プロジェクト: ieure/pypy
 def bh_setfield_gc_i(self, struct, fielddescr, newvalue):
     assert isinstance(fielddescr, Descr)
     llimpl.do_setfield_gc_int(struct, fielddescr.ofs, newvalue)
コード例 #6
0
ファイル: runner.py プロジェクト: ieure/pypy
 def bh_new_with_vtable(self, sizedescr, vtable):
     assert isinstance(sizedescr, Descr)
     result = llimpl.do_new(sizedescr.ofs)
     llimpl.do_setfield_gc_int(result, self.fielddescrof_vtable.ofs, vtable)
     return result
コード例 #7
0
ファイル: runner.py プロジェクト: purepython/pypy
 def bh_setfield_gc_i(self, struct, fielddescr, newvalue):
     assert isinstance(fielddescr, Descr)
     llimpl.do_setfield_gc_int(struct, fielddescr.ofs, newvalue)
コード例 #8
0
ファイル: runner.py プロジェクト: purepython/pypy
 def bh_new_with_vtable(self, sizedescr, vtable):
     assert isinstance(sizedescr, Descr)
     result = llimpl.do_new(sizedescr.ofs)
     llimpl.do_setfield_gc_int(result, self.fielddescrof_vtable.ofs, vtable)
     return result