[pypy-commit] pypy fix-trace-too-long-heuristic: change the heuristic a bit
fijal
noreply at buildbot.pypy.org
Thu Nov 19 10:52:44 EST 2015
Author: fijal
Branch: fix-trace-too-long-heuristic
Changeset: r80779:543f6b24d1b0
Date: 2015-11-19 17:52 +0200
http://bitbucket.org/pypy/pypy/changeset/543f6b24d1b0/
Log: change the heuristic a bit
diff --git a/rpython/jit/codewriter/jitcode.py b/rpython/jit/codewriter/jitcode.py
--- a/rpython/jit/codewriter/jitcode.py
+++ b/rpython/jit/codewriter/jitcode.py
@@ -7,7 +7,7 @@
_empty_i = []
_empty_r = []
_empty_f = []
-
+
def __init__(self, name, fnaddr=None, calldescr=None, called_from=None):
self.name = name
self.fnaddr = fnaddr
diff --git a/rpython/jit/metainterp/pyjitpl.py b/rpython/jit/metainterp/pyjitpl.py
--- a/rpython/jit/metainterp/pyjitpl.py
+++ b/rpython/jit/metainterp/pyjitpl.py
@@ -1903,7 +1903,9 @@
raise ChangeFrame
def is_main_jitcode(self, jitcode):
- return self.jitdriver_sd is not None and jitcode is self.jitdriver_sd.mainjitcode
+ return (jitcode.jitdriver_sd is not None and
+ jitcode.jitdriver_sd.jitdriver.is_main_jitdriver)
+ #return self.jitdriver_sd is not None and jitcode is self.jitdriver_sd.mainjitcode
def newframe(self, jitcode, greenkey=None):
if jitcode.jitdriver_sd:
diff --git a/rpython/jit/metainterp/test/test_recursive.py b/rpython/jit/metainterp/test/test_recursive.py
--- a/rpython/jit/metainterp/test/test_recursive.py
+++ b/rpython/jit/metainterp/test/test_recursive.py
@@ -541,7 +541,8 @@
code = hlstr(code)
return "%s %d %s" % (code, pc, code[pc])
myjitdriver = JitDriver(greens=['pc', 'code'], reds=['n'],
- get_printable_location=p)
+ get_printable_location=p,
+ is_main_jitdriver=True)
def f(code, n):
pc = 0
diff --git a/rpython/rlib/jit.py b/rpython/rlib/jit.py
--- a/rpython/rlib/jit.py
+++ b/rpython/rlib/jit.py
@@ -604,7 +604,7 @@
get_printable_location=None, confirm_enter_jit=None,
can_never_inline=None, should_unroll_one_iteration=None,
name='jitdriver', check_untranslated=True, vectorize=False,
- get_unique_id=None):
+ get_unique_id=None, is_main_jitdriver=False):
if greens is not None:
self.greens = greens
self.name = name
@@ -643,6 +643,7 @@
self.can_never_inline = can_never_inline
self.should_unroll_one_iteration = should_unroll_one_iteration
self.check_untranslated = check_untranslated
+ self.is_main_jitdriver = is_main_jitdriver
self.vec = vectorize
def _freeze_(self):
More information about the pypy-commit
mailing list