[pypy-commit] pypy jitframe-on-heap: We now keep the frame in ebp, easy
fijal
noreply at buildbot.pypy.org
Tue Feb 12 12:41:55 CET 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r61131:7db4696a951c
Date: 2013-02-12 13:41 +0200
http://bitbucket.org/pypy/pypy/changeset/7db4696a951c/
Log: We now keep the frame in ebp, easy
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -877,7 +877,7 @@
# to provide a place where we can read the frame from, in case
# we need to reload it after a collection
rst = self._load_shadowstack_top_in_ebx(self.mc, gcrootmap)
- self.mc.MOV_mr((ebx.value, 0), edi.value) # MOV [ebx], edi
+ self.mc.MOV_mr((ebx.value, 0), ebp.value) # MOV [ebx], ebp
self.mc.ADD_ri(ebx.value, WORD)
if rx86.fits_in_32bits(rst):
self.mc.MOV_jr(rst, ebx.value) # MOV [rootstacktop], ebx
diff --git a/rpython/jit/backend/x86/test/test_gc_integration.py b/rpython/jit/backend/x86/test/test_gc_integration.py
--- a/rpython/jit/backend/x86/test/test_gc_integration.py
+++ b/rpython/jit/backend/x86/test/test_gc_integration.py
@@ -548,7 +548,7 @@
loop = self.parse("""
[p0, p1, p2]
- pf = force_token() # this is a bit below the frame
+ pf = force_token() # this is the frame
call(ConstClass(check_adr), pf, descr=checkdescr) # this can collect
p3 = getfield_gc(p0, descr=fielddescr)
pf2 = force_token()
More information about the pypy-commit
mailing list