Author: Maciej Fijalkowski <[email protected]>
Branch: result-in-resops
Changeset: r58367:485628fc23c0
Date: 2012-10-22 18:38 +0200
http://bitbucket.org/pypy/pypy/changeset/485628fc23c0/
Log: shit stuff to support
diff --git a/pypy/jit/backend/test/runner_test.py
b/pypy/jit/backend/test/runner_test.py
--- a/pypy/jit/backend/test/runner_test.py
+++ b/pypy/jit/backend/test/runner_test.py
@@ -6,42 +6,19 @@
from pypy.jit.metainterp.resoperation import rop, create_resop_dispatch,\
create_resop, ConstInt, ConstPtr, ConstFloat, create_resop_2,\
create_resop_1, create_resop_0, INT, REF, FLOAT, example_for_opnum
+from pypy.jit.metainterp.test.support import boxint, boxfloat,\
+ boxlonglong_on_32bit, boxptr, constfloat
from pypy.jit.metainterp.typesystem import deref
from pypy.jit.codewriter.effectinfo import EffectInfo
from pypy.rpython.lltypesystem import lltype, llmemory, rstr, rffi, rclass
from pypy.rpython.annlowlevel import llhelper
from pypy.rpython.llinterp import LLException
from pypy.jit.codewriter import heaptracker, longlong
-from pypy.rlib import longlong2float
from pypy.rlib.rarithmetic import intmask, is_valid_int
from pypy.jit.backend.detect_cpu import autodetect_main_model_and_size
from pypy.jit.tool import oparser
-def boxfloat(x=None):
- if x is None:
- x = example_for_opnum(rop.INPUT_f)
- return create_resop_0(rop.INPUT_f, longlong.getfloatstorage(x))
-
-def boxlonglong_on_32bit(x):
- return create_resop_0(rop.INPUT_f, x)
-
-def boxint(x=0):
- return create_resop_0(rop.INPUT_i, x)
-
-def boxptr(x=lltype.nullptr(llmemory.GCREF.TO)):
- return create_resop_0(rop.INPUT_r, x)
-
-def constfloat(x):
- return ConstFloat(longlong.getfloatstorage(x))
-
-def boxlonglong(ll):
- if longlong.is_64_bit:
- return boxint(ll)
- else:
- return boxfloat(ll)
-
-
class Runner(object):
add_loop_instruction = ['overload for a specific cpu']
diff --git a/pypy/jit/metainterp/optimizeopt/test/test_util.py
b/pypy/jit/metainterp/optimizeopt/test/test_util.py
--- a/pypy/jit/metainterp/optimizeopt/test/test_util.py
+++ b/pypy/jit/metainterp/optimizeopt/test/test_util.py
@@ -16,8 +16,8 @@
from pypy.jit.metainterp import compile, resume
from pypy.jit.metainterp.jitprof import EmptyProfiler
from pypy.config.pypyoption import get_pypy_config
-from pypy.jit.metainterp.resoperation import rop, create_resop, BoxPtr,\
- create_resop_0, REF, INT, FLOAT, create_resop_2, BoxInt
+from pypy.jit.metainterp.resoperation import rop, create_resop,\
+ create_resop_0, REF, INT, FLOAT, create_resop_2
def test_sort_descrs():
class PseudoDescr(AbstractDescr):
@@ -409,12 +409,6 @@
def teardown_method(self, meth):
del self.oparsers
- def process_guard(self, guard_op, oparser):
- fail_args = guard_op.get_extra("failargs")
- guard_op.set_rd_frame_info_list(resume.FrameInfo(None, "code", 11))
- guard_op.set_rd_snapshot(resume.Snapshot(None, _sortboxes(fail_args)))
- self.oparsers.append(oparser)
-
def assert_equal(self, optimized, expected, text_right=None):
from pypy.jit.metainterp.optimizeopt.util import equaloplists
assert len(optimized.inputargs) == len(expected.inputargs)
@@ -436,11 +430,6 @@
if hasattr(self, 'callinfocollection'):
metainterp_sd.callinfocollection = self.callinfocollection
#
- for op in loop.operations:
- if op.is_guard():
- fail_args = op.get_extra("failargs")
- op._rd_frame_info_list = resume.FrameInfo(None, "code", 11)
- op._rd_snapshot = resume.Snapshot(None, _sortboxes(fail_args))
optimize_trace(jitdriver_sd, metainterp_sd, loop, self.enable_opts)
def unroll_and_optimize(self, loop):
diff --git a/pypy/jit/metainterp/test/support.py
b/pypy/jit/metainterp/test/support.py
--- a/pypy/jit/metainterp/test/support.py
+++ b/pypy/jit/metainterp/test/support.py
@@ -1,16 +1,40 @@
-import py, sys
+import sys
from pypy.rpython.lltypesystem import lltype, llmemory
-from pypy.rpython.ootypesystem import ootype
from pypy.jit.backend.llgraph import runner
from pypy.jit.metainterp.warmspot import ll_meta_interp, get_stats
from pypy.jit.metainterp.warmstate import unspecialize_value
from pypy.jit.metainterp.optimizeopt import ALL_OPTS_DICT
+from pypy.jit.metainterp.resoperation import example_for_opnum,
create_resop_0,\
+ rop, ConstFloat
from pypy.jit.metainterp import pyjitpl, history
from pypy.jit.codewriter.policy import JitPolicy
from pypy.jit.codewriter import codewriter, longlong
from pypy.rlib.rfloat import isnan
+def boxfloat(x=None):
+ if x is None:
+ x = example_for_opnum(rop.INPUT_f)
+ return create_resop_0(rop.INPUT_f, longlong.getfloatstorage(x))
+
+def boxlonglong_on_32bit(x):
+ return create_resop_0(rop.INPUT_f, x)
+
+def boxint(x=0):
+ return create_resop_0(rop.INPUT_i, x)
+
+def boxptr(x=lltype.nullptr(llmemory.GCREF.TO)):
+ return create_resop_0(rop.INPUT_r, x)
+
+def constfloat(x):
+ return ConstFloat(longlong.getfloatstorage(x))
+
+def boxlonglong(ll):
+ if longlong.is_64_bit:
+ return boxint(ll)
+ else:
+ return boxfloat(ll)
+
def _get_jitcodes(testself, CPUClass, func, values, type_system,
supports_longlong=False, translationoptions={}, **kwds):
from pypy.jit.codewriter import support
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit