Author: Armin Rigo <ar...@tunes.org>
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
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to