[pypy-commit] pypy remove-globals-in-jit: Trying it out now: re-enable the JIT with continulets
arigo
noreply at buildbot.pypy.org
Mon Dec 3 03:14:57 CET 2012
Author: Armin Rigo <arigo at tunes.org>
Branch: remove-globals-in-jit
Changeset: r59288:4ed15aefc3f0
Date: 2012-12-02 18:14 -0800
http://bitbucket.org/pypy/pypy/changeset/4ed15aefc3f0/
Log: Trying it out now: re-enable the JIT with continulets
diff --git a/pypy/module/_continuation/interp_continuation.py b/pypy/module/_continuation/interp_continuation.py
--- a/pypy/module/_continuation/interp_continuation.py
+++ b/pypy/module/_continuation/interp_continuation.py
@@ -34,7 +34,6 @@
if self.sthread is not None:
raise geterror(self.space, "continulet already __init__ialized")
sthread = build_sthread(self.space)
- workaround_disable_jit(sthread)
#
# hackish: build the frame "by hand", passing it the correct arguments
space = self.space
@@ -77,7 +76,6 @@
global_state.clear()
raise geterror(self.space, "continulet already finished")
self.check_sthread()
- workaround_disable_jit(self.sthread)
#
global_state.origin = self
if to is None:
@@ -271,16 +269,6 @@
sthread = ec.stacklet_thread = SThread(space, ec)
return sthread
-def workaround_disable_jit(sthread):
- # A bad workaround to kill the JIT anywhere in this thread.
- # This forces all the frames. It's a bad workaround because
- # it takes O(depth) time, and it will cause some "abort:
- # vable escape" in the JIT. The goal is to prevent any frame
- # from being still virtuals, because the JIT generates code
- # to un-virtualizable them "on demand" by loading values based
- # on FORCE_TOKEN, which is an address in the stack.
- sthread.ec.force_all_frames()
-
# ____________________________________________________________
def permute(space, args_w):
More information about the pypy-commit
mailing list