Author: Maciej Fijalkowski <[email protected]>
Branch: jitframe-on-heap
Changeset: r60139:02e616816493
Date: 2013-01-17 19:46 +0200
http://bitbucket.org/pypy/pypy/changeset/02e616816493/
Log: fix fix fix
diff --git a/pypy/jit/metainterp/compile.py b/pypy/jit/metainterp/compile.py
--- a/pypy/jit/metainterp/compile.py
+++ b/pypy/jit/metainterp/compile.py
@@ -309,7 +309,7 @@
def do_compile_bridge(metainterp_sd, faildescr, inputargs, operations,
original_loop_token, log=True):
- metainterp_sd.logger_ops.log_bridge(inputargs, operations, -2)
+ metainterp_sd.logger_ops.log_bridge(inputargs, operations, "compiling")
return metainterp_sd.cpu.compile_bridge(faildescr, inputargs, operations,
original_loop_token, log=log)
@@ -402,7 +402,7 @@
ops_offset = asminfo.ops_offset
else:
ops_offset = None
- metainterp_sd.logger_ops.log_bridge(inputargs, operations, faildescr,
+ metainterp_sd.logger_ops.log_bridge(inputargs, operations, None, faildescr,
ops_offset)
#
#if metainterp_sd.warmrunnerdesc is not None: # for tests
diff --git a/pypy/jit/metainterp/logger.py b/pypy/jit/metainterp/logger.py
--- a/pypy/jit/metainterp/logger.py
+++ b/pypy/jit/metainterp/logger.py
@@ -30,20 +30,19 @@
debug_stop("jit-log-opt-loop")
return logops
- def log_bridge(self, inputargs, operations, descr=None, ops_offset=None):
- # XXX great idea to pass number = -1 or -2 to mean stuff
- return
- if number == -1:
+ def log_bridge(self, inputargs, operations, extra=None,
+ descr=None, ops_offset=None):
+ if extra == "noopt":
debug_start("jit-log-noopt-bridge")
logops = self._log_operations(inputargs, operations, ops_offset)
debug_stop("jit-log-noopt-bridge")
- elif number == -2:
+ elif extra == "compiling":
debug_start("jit-log-compiling-bridge")
logops = self._log_operations(inputargs, operations, ops_offset)
debug_stop("jit-log-compiling-bridge")
else:
debug_start("jit-log-opt-bridge")
- debug_print("# bridge out of Guard", number,
+ debug_print("# bridge out of Guard", compute_unique_id(descr),
"with", len(operations), "ops")
logops = self._log_operations(inputargs, operations, ops_offset)
debug_stop("jit-log-opt-bridge")
diff --git a/pypy/jit/metainterp/test/test_logger.py
b/pypy/jit/metainterp/test/test_logger.py
--- a/pypy/jit/metainterp/test/test_logger.py
+++ b/pypy/jit/metainterp/test/test_logger.py
@@ -1,16 +1,17 @@
-import sys
+
+import re
from pypy.rlib import debug
from pypy.jit.tool.oparser import pure_parse
from pypy.jit.metainterp import logger
from pypy.jit.metainterp.typesystem import llhelper
from StringIO import StringIO
from pypy.jit.metainterp.optimizeopt.util import equaloplists
-from pypy.jit.metainterp.history import AbstractDescr, JitCellToken,
BasicFailDescr
+from pypy.jit.metainterp.history import AbstractDescr, JitCellToken,
BasicFailDescr, BasicFinalDescr
from pypy.jit.backend.model import AbstractCPU
class Descr(AbstractDescr):
- pass
+ final_descr = False
def capturing(func, *args, **kwds):
log_stream = StringIO()
@@ -108,9 +109,10 @@
inp = '''
[]
guard_not_invalidated(descr=descr) []
- finish()
+ finish(descr=finaldescr)
'''
- loop = pure_parse(inp, namespace={'descr': Descr()})
+ loop = pure_parse(inp, namespace={'descr': Descr(),
+ 'finaldescr': BasicFinalDescr()})
logger = Logger(self.make_metainterp_sd())
output = logger.log_loop(loop, {'descr': Descr()})
assert 'guard_not_invalidated(descr=' in output
@@ -164,7 +166,7 @@
loop = pure_parse(inp, namespace=namespace)
logger = Logger(self.make_metainterp_sd(), guard_number=True)
output = logger.log_loop(loop)
- assert output.splitlines()[-1] == "guard_true(i0, descr=<Guard0>) [i0]"
+ assert re.match("guard_true\(i0, descr=<Guard\d+>\) \[i0\]",
output.splitlines()[-1])
pure_parse(output)
logger = Logger(self.make_metainterp_sd(), guard_number=False)
@@ -198,7 +200,8 @@
def test_intro_bridge(self):
bare_logger = logger.Logger(self.make_metainterp_sd())
output = capturing(bare_logger.log_bridge, [], [], 3)
- assert output.splitlines()[0] == "# bridge out of Guard 3 with 0 ops"
+ assert re.match("# bridge out of Guard \d+ with 0 ops",
+ output.splitlines()[0])
pure_parse(output)
def test_repr_single_op(self):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit