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

Reply via email to