[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