[pypy-svn] pypy jit-lsprofile: No operations before jit_merge_point. That does apply to getfield as well,
fijal
commits-noreply at bitbucket.org
Wed Mar 23 20:10:08 CET 2011
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jit-lsprofile
Changeset: r42883:e187b3742ccf
Date: 2011-03-23 13:09 -0600
http://bitbucket.org/pypy/pypy/changeset/e187b3742ccf/
Log: No operations before jit_merge_point. That does apply to getfield as
well, otherwise we get corrupt graphs
diff --git a/pypy/module/pypyjit/interp_jit.py b/pypy/module/pypyjit/interp_jit.py
--- a/pypy/module/pypyjit/interp_jit.py
+++ b/pypy/module/pypyjit/interp_jit.py
@@ -68,14 +68,16 @@
def dispatch(self, pycode, next_instr, ec):
self = hint(self, access_directly=True)
next_instr = r_uint(next_instr)
+ is_being_profiled = self.is_being_profiled
try:
while True:
pypyjitdriver.jit_merge_point(ec=ec,
frame=self, next_instr=next_instr, pycode=pycode,
- is_being_profiled=self.is_being_profiled)
+ is_being_profiled=is_being_profiled)
co_code = pycode.co_code
self.valuestackdepth = hint(self.valuestackdepth, promote=True)
next_instr = self.handle_bytecode(co_code, next_instr, ec)
+ is_being_profiled = self.is_being_profiled
except ExitFrame:
return self.popvalue()
More information about the Pypy-commit
mailing list