[pypy-svn] r74158 - in pypy/branch/blackhole-improvement/pypy/jit: backend backend/llgraph codewriter metainterp

arigo at codespeak.net arigo at codespeak.net
Wed Apr 28 13:22:44 CEST 2010


Author: arigo
Date: Wed Apr 28 13:22:42 2010
New Revision: 74158

Modified:
   pypy/branch/blackhole-improvement/pypy/jit/backend/llgraph/runner.py
   pypy/branch/blackhole-improvement/pypy/jit/backend/model.py
   pypy/branch/blackhole-improvement/pypy/jit/codewriter/jitter.py
   pypy/branch/blackhole-improvement/pypy/jit/metainterp/blackhole.py
Log:
indirect_call, new.


Modified: pypy/branch/blackhole-improvement/pypy/jit/backend/llgraph/runner.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/backend/llgraph/runner.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/jit/backend/llgraph/runner.py	Wed Apr 28 13:22:42 2010
@@ -428,6 +428,10 @@
         assert isinstance(size, Descr)
         return history.BoxPtr(llimpl.do_new(size.ofs))
 
+    def bh_new(self, sizedescr):
+        assert isinstance(sizedescr, Descr)
+        return llimpl.do_new(sizedescr.ofs)
+
     def bh_new_with_vtable(self, sizevtabledescr):
         result = llimpl.do_new(sizevtabledescr.ofs)
         llimpl.do_setfield_gc_int(result, self.fielddescrof_vtable.ofs,

Modified: pypy/branch/blackhole-improvement/pypy/jit/backend/model.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/backend/model.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/jit/backend/model.py	Wed Apr 28 13:22:42 2010
@@ -209,6 +209,9 @@
     def do_new(self, sizedescr):
         raise NotImplementedError
 
+    def bh_new(self, sizedescr):
+        raise NotImplementedError
+
     def do_new_with_vtable(self, classbox):
         raise NotImplementedError
 

Modified: pypy/branch/blackhole-improvement/pypy/jit/codewriter/jitter.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/codewriter/jitter.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/jit/codewriter/jitter.py	Wed Apr 28 13:22:42 2010
@@ -163,6 +163,10 @@
                               [op.args[0], calldescr] + sublists,
                               op.result)
 
+    def rewrite_op_indirect_call(self, op):
+        op1 = SpaceOperation('direct_call', op.args[:-1], op.result)
+        return self.rewrite_op_direct_call(op1)
+
     def add_in_correct_list(self, v, lst_i, lst_r, lst_f):
         kind = getkind(v.concretetype)
         if kind == 'void': return

Modified: pypy/branch/blackhole-improvement/pypy/jit/metainterp/blackhole.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/jit/metainterp/blackhole.py	(original)
+++ pypy/branch/blackhole-improvement/pypy/jit/metainterp/blackhole.py	Wed Apr 28 13:22:42 2010
@@ -565,6 +565,10 @@
         self.cpu.bh_setfield_raw_f(struct, fielddescr, newvalue)
 
     @arguments("d", returns="r")
+    def opimpl_new(self, descr):
+        return self.cpu.bh_new(descr)
+
+    @arguments("d", returns="r")
     def opimpl_new_with_vtable(self, descr):
         return self.cpu.bh_new_with_vtable(descr)
 



More information about the Pypy-commit mailing list