[pypy-commit] pypy jitframe-on-heap: push for _check_frame_depth
fijal
noreply at buildbot.pypy.org
Sun Feb 10 15:14:01 CET 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r61043:70d8ed3723ef
Date: 2013-02-10 16:13 +0200
http://bitbucket.org/pypy/pypy/changeset/70d8ed3723ef/
Log: push for _check_frame_depth
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
@@ -205,12 +205,17 @@
mc.MOV_rs(ecx.value, WORD)
gcmap_ofs = self.cpu.get_ofs_of_frame_field('jf_gcmap')
mc.MOV_br(gcmap_ofs, ecx.value)
- # this is size that we're after, sanity checking only
- mc.MOV_rs(esi.value, WORD*2)
- # push first arg
- mc.MOV_rr(edi.value, ebp.value)
+ if IS_X86_64:
+ # this is size that we're after, sanity checking only
+ mc.MOV_rs(esi.value, WORD*2)
+ # push first arg
+ mc.MOV_rr(edi.value, ebp.value)
+ align = align_stack_words(1)
+ else:
+ mc.PUSH(RawStackLoc(WORD * 2))
+ mc.PUSH_r(ebp.value)
+ align = align_stack_words(3)
# align
- align = align_stack_words(1)
mc.SUB_ri(esp.value, (align - 1) * WORD)
mc.CALL(imm(self.cpu.realloc_frame))
@@ -677,7 +682,6 @@
else:
mc.CMP_bi(ofs, expected_size)
stack_check_cmp_ofs = mc.get_relative_pos() - 4
- assert not IS_X86_32
mc.J_il8(rx86.Conditions['GE'], 0)
jg_location = mc.get_relative_pos()
if expected_size == -1:
More information about the pypy-commit
mailing list