Author: Armin Rigo <[email protected]>
Branch: emit-call-x86
Changeset: r64342:81c1063efbe4
Date: 2013-05-19 20:42 +0200
http://bitbucket.org/pypy/pypy/changeset/81c1063efbe4/
Log: Improve testing: any access to ebp between the GIL release and
require will give nonsense results
diff --git a/rpython/jit/backend/x86/callbuilder.py
b/rpython/jit/backend/x86/callbuilder.py
--- a/rpython/jit/backend/x86/callbuilder.py
+++ b/rpython/jit/backend/x86/callbuilder.py
@@ -192,6 +192,9 @@
#
self.mc.CALL(imm(self.asm.releasegil_addr))
#
+ if not we_are_translated(): # for testing: we should not access
+ self.mc.ADD(ebp, imm(1)) # ebp any more
+ #
self.restore_register_arguments()
self.restore_esp(initial_esp)
@@ -220,6 +223,9 @@
#
self.mc.CALL(imm(self.asm.reacqgil_addr))
#
+ if not we_are_translated(): # for testing: now we can accesss
+ self.mc.SUB(ebp, imm(1)) # ebp again
+ #
# Now that we required the GIL, we can reload a possibly modified ebp
if self.asm._is_asmgcc():
# special-case: reload ebp from the css
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit