[pypy-commit] pypy result-in-resops: hack some more to make oparser working again
fijal
noreply at buildbot.pypy.org
Thu Sep 20 19:18:39 CEST 2012
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: result-in-resops
Changeset: r57408:0259dfa5dd29
Date: 2012-09-20 18:47 +0200
http://bitbucket.org/pypy/pypy/changeset/0259dfa5dd29/
Log: hack some more to make oparser working again
diff --git a/pypy/jit/codewriter/support.py b/pypy/jit/codewriter/support.py
--- a/pypy/jit/codewriter/support.py
+++ b/pypy/jit/codewriter/support.py
@@ -91,7 +91,7 @@
assert len(reds_v) == numreds
#
def _sort(args_v, is_green):
- from pypy.jit.metainterp.history import getkind
+ from pypy.jit.metainterp.resoperation import getkind
lst = [v for v in args_v if v.concretetype is not lltype.Void]
if is_green:
assert len(lst) == len(args_v), (
diff --git a/pypy/jit/metainterp/warmspot.py b/pypy/jit/metainterp/warmspot.py
--- a/pypy/jit/metainterp/warmspot.py
+++ b/pypy/jit/metainterp/warmspot.py
@@ -17,7 +17,7 @@
from pypy.translator.backendopt import removenoops
from pypy.translator.unsimplify import call_final_function
-from pypy.jit.metainterp import history, pyjitpl, gc, memmgr
+from pypy.jit.metainterp import history, pyjitpl, gc, memmgr, resoperation
from pypy.jit.metainterp.pyjitpl import MetaInterpStaticData
from pypy.jit.metainterp.jitprof import Profiler, EmptyProfiler
from pypy.jit.metainterp.jitexc import JitException
@@ -280,8 +280,8 @@
graph.func._jit_unroll_safe_ = True
jd.jitdriver = block.operations[pos].args[1].value
jd.portal_runner_ptr = "<not set so far>"
- jd.result_type = history.getkind(jd.portal_graph.getreturnvar()
- .concretetype)[0]
+ jd.result_type = resoperation.getkind(jd.portal_graph.getreturnvar()
+ .concretetype)[0]
self.jitdrivers_sd.append(jd)
def check_access_directly_sanity(self, graphs):
@@ -530,7 +530,7 @@
greens_v, reds_v = support.decode_hp_hint_args(op)
ALLARGS = [v.concretetype for v in (greens_v + reds_v)]
jd._green_args_spec = [v.concretetype for v in greens_v]
- jd.red_args_types = [history.getkind(v.concretetype) for v in reds_v]
+ jd.red_args_types = [resoperation.getkind(v.concretetype) for v in reds_v]
jd.num_green_args = len(jd._green_args_spec)
jd.num_red_args = len(jd.red_args_types)
RESTYPE = graph.getreturnvar().concretetype
@@ -541,11 +541,11 @@
#
if jd.result_type == 'v':
ASMRESTYPE = lltype.Void
- elif jd.result_type == history.INT:
+ elif jd.result_type == resoperation.INT:
ASMRESTYPE = lltype.Signed
- elif jd.result_type == history.REF:
+ elif jd.result_type == resoperation.REF:
ASMRESTYPE = llmemory.GCREF
- elif jd.result_type == history.FLOAT:
+ elif jd.result_type == resoperation.FLOAT:
ASMRESTYPE = lltype.Float
else:
assert False
@@ -704,7 +704,7 @@
portalfunc_ARGS = []
nums = {}
for i, ARG in enumerate(PORTALFUNC.ARGS):
- kind = history.getkind(ARG)
+ kind = resoperation.getkind(ARG)
assert kind != 'void'
if i < len(jd.jitdriver.greens):
color = 'green'
@@ -718,7 +718,7 @@
#
rtyper = self.translator.rtyper
RESULT = PORTALFUNC.RESULT
- result_kind = history.getkind(RESULT)
+ result_kind = resoperation.getkind(RESULT)
ts = self.cpu.ts
def ll_portal_runner(*args):
diff --git a/pypy/jit/tool/oparser.py b/pypy/jit/tool/oparser.py
--- a/pypy/jit/tool/oparser.py
+++ b/pypy/jit/tool/oparser.py
@@ -250,16 +250,11 @@
raise ParseError(
"Unknown var in fail_args: %s" % arg)
fail_args.append(fail_arg)
- if descr is None and self.invent_fail_descr:
- descr = self.invent_fail_descr(self.model, fail_args)
if hasattr(descr, '_oparser_uses_descr_of_guard'):
descr._oparser_uses_descr_of_guard(self, fail_args)
else:
fail_args = None
- if opnum == rop.FINISH:
- if descr is None and self.invent_fail_descr:
- descr = self.invent_fail_descr(self.model, fail_args)
- elif opnum == rop.JUMP:
+ if opnum == rop.JUMP:
if descr is None and self.invent_fail_descr:
descr = self.original_jitcell_token
diff --git a/pypy/jit/tool/test/test_oparser.py b/pypy/jit/tool/test/test_oparser.py
--- a/pypy/jit/tool/test/test_oparser.py
+++ b/pypy/jit/tool/test/test_oparser.py
@@ -3,8 +3,8 @@
from pypy.rpython.lltypesystem import lltype, llmemory
from pypy.jit.tool.oparser import parse, OpParser
-from pypy.jit.metainterp.resoperation import rop
-from pypy.jit.metainterp.history import AbstractDescr, BoxInt, JitCellToken,\
+from pypy.jit.metainterp.resoperation import rop, BoxInt
+from pypy.jit.metainterp.history import AbstractDescr, JitCellToken,\
TargetToken
class BaseTestOparser(object):
@@ -28,7 +28,8 @@
assert [op.getopnum() for op in loop.operations] == [rop.INT_ADD, rop.INT_SUB,
rop.FINISH]
assert len(loop.inputargs) == 2
- assert loop.operations[-1].getdescr()
+ #assert loop.operations[-1].getdescr()
+ # descr is invented by optimizations
def test_const_ptr_subops(self):
x = """
@@ -39,7 +40,8 @@
vtable = lltype.nullptr(S)
loop = self.parse(x, None, locals())
assert len(loop.operations) == 1
- assert loop.operations[0].getdescr()
+ #assert loop.operations[0].getdescr()
+ # descr is invented by optimizations
assert loop.operations[0].get_extra("failargs") == []
def test_descr(self):
More information about the pypy-commit
mailing list