Author: fijal
Branch: jit-leaner-frontend
Changeset: r83226:043653d6cffe
Date: 2016-03-21 20:17 +0200
http://bitbucket.org/pypy/pypy/changeset/043653d6cffe/
Log: fix some tests
diff --git a/rpython/jit/metainterp/optimizeopt/dependency.py
b/rpython/jit/metainterp/optimizeopt/dependency.py
--- a/rpython/jit/metainterp/optimizeopt/dependency.py
+++ b/rpython/jit/metainterp/optimizeopt/dependency.py
@@ -3,7 +3,6 @@
from rpython.jit.metainterp import compile
from rpython.jit.metainterp.optimizeopt.util import make_dispatcher_method
from rpython.jit.metainterp.resoperation import (rop, GuardResOp, ResOperation)
-from rpython.jit.metainterp.resume import Snapshot
from rpython.jit.codewriter.effectinfo import EffectInfo
from rpython.jit.metainterp.history import (ConstPtr, ConstInt,Const,
AbstractValue, AbstractFailDescr)
diff --git a/rpython/jit/metainterp/optimizeopt/renamer.py
b/rpython/jit/metainterp/optimizeopt/renamer.py
--- a/rpython/jit/metainterp/optimizeopt/renamer.py
+++ b/rpython/jit/metainterp/optimizeopt/renamer.py
@@ -1,5 +1,4 @@
from rpython.jit.metainterp import resoperation
-from rpython.jit.metainterp.resume import Snapshot
class Renamer(object):
def __init__(self):
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_optimizebasic.py
@@ -33,7 +33,7 @@
compile_data = compile.SimpleCompileData(trace,
call_pure_results)
info, ops = self._do_optimize_loop(compile_data)
- label_op = ResOperation(rop.LABEL, info.inputargs, -1)
+ label_op = ResOperation(rop.LABEL, info.inputargs)
loop.inputargs = info.inputargs
loop.operations = [label_op] + ops
#print '\n'.join([str(o) for o in loop.operations])
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py
b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -497,18 +497,6 @@
final_descr = history.BasicFinalDescr()
-class FakeFrame(object):
- pc = 100
-
- class jitcode:
- index = 200
-
- def __init__(self, boxes):
- self.boxes = boxes
-
- def get_list_of_active_boxes(self, flag):
- return self.boxes
-
class BaseTest(object):
def parse(self, s, boxkinds=None, want_fail_descr=True, postprocess=None):
@@ -561,29 +549,44 @@
if inp.type == 'i':
return history.IntFrontendOp
elif inp.type == 'r':
- xxx
+ return history.RefFrontendOp
else:
assert inp.type == 'f'
- xxx
+ return history.FloatFrontendOp
def convert_loop_to_packed(self, loop, skip_last=False):
- XXX # rewrite
from rpython.jit.metainterp.opencoder import Trace
+ from rpython.jit.metainterp.test.test_opencoder import FakeFrame
+
+ def get(a):
+ if isinstance(a, history.Const):
+ return a
+ return mapping[a]
+
+ class jitcode:
+ index = 200
+
inputargs = [self.pick_cls(inparg)(i) for i, inparg in
enumerate(loop.inputargs)]
+ mapping = {}
+ for one, two in zip(loop.inputargs, inputargs):
+ mapping[one] = two
trace = Trace(inputargs)
ops = loop.operations
if skip_last:
ops = ops[:-1]
for op in ops:
- newop = trace.record_op(op.getopnum(), op.getarglist(),
op.getdescr())
+ newpos = trace.record_op(op.getopnum(), [get(arg) for arg in
+ op.getarglist()], op.getdescr())
if rop.is_guard(op.getopnum()):
failargs = []
if op.getfailargs():
- failargs = op.getfailargs()
- frame = FakeFrame(failargs)
+ failargs = [get(arg) for arg in op.getfailargs()]
+ frame = FakeFrame(100, jitcode, failargs)
resume.capture_resumedata([frame], None, [], trace)
- op.position = newop.position
+ if op.type != 'v':
+ newop = self.pick_cls(op)(newpos)
+ mapping[op] = newop
return trace
def unroll_and_optimize(self, loop, call_pure_results=None,
diff --git a/rpython/jit/metainterp/optimizeopt/vector.py
b/rpython/jit/metainterp/optimizeopt/vector.py
--- a/rpython/jit/metainterp/optimizeopt/vector.py
+++ b/rpython/jit/metainterp/optimizeopt/vector.py
@@ -8,7 +8,6 @@
import py
import time
-from rpython.jit.metainterp.resume import Snapshot
from rpython.jit.metainterp.jitexc import NotAVectorizeableLoop,
NotAProfitableLoop
from rpython.jit.metainterp.compile import (CompileLoopVersionDescr,
ResumeDescr)
from rpython.jit.metainterp.history import (INT, FLOAT, VECTOR, ConstInt,
ConstFloat,
diff --git a/rpython/jit/metainterp/resumecode.py
b/rpython/jit/metainterp/resumecode.py
--- a/rpython/jit/metainterp/resumecode.py
+++ b/rpython/jit/metainterp/resumecode.py
@@ -67,6 +67,7 @@
value = -1 - value
value >>= 1
return value, index
+numb_next_item._always_inline_ = True
def numb_next_n_items(numb, size, index):
for i in range(size):
diff --git a/rpython/jit/metainterp/test/test_resume.py
b/rpython/jit/metainterp/test/test_resume.py
--- a/rpython/jit/metainterp/test/test_resume.py
+++ b/rpython/jit/metainterp/test/test_resume.py
@@ -184,7 +184,7 @@
def execute_and_record(self, opnum, descr, *argboxes):
resvalue = executor.execute(self.cpu, None, opnum, descr, *argboxes)
- op = ResOperation(opnum, list(argboxes), -1, descr)
+ op = ResOperation(opnum, list(argboxes), descr=descr)
setvalue(op, resvalue)
self.trace.append((opnum, list(argboxes), resvalue, descr))
return op
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit