[pypy-commit] pypy jitframe-on-heap: 32bit fixes
fijal
noreply at buildbot.pypy.org
Sun Feb 10 23:38:04 CET 2013
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: jitframe-on-heap
Changeset: r61054:3cd33894e381
Date: 2013-02-11 00:37 +0200
http://bitbucket.org/pypy/pypy/changeset/3cd33894e381/
Log: 32bit fixes
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
@@ -411,20 +411,23 @@
# A final TEST8 before the RET, for the caller. Careful to
# not follow this instruction with another one that changes
# the status of the CPU flags!
- mc.MOV_rs(eax.value, WORD)
+ if IS_X86_32:
+ mc.MOV_rs(eax.value, 3*WORD)
+ else:
+ mc.MOV_rs(eax.value, WORD)
mc.TEST8(addr_add_const(eax, descr.jit_wb_if_flag_byteofs),
imm(-0x80))
#
if not for_frame:
if IS_X86_32:
- xxx
+ # ADD touches CPU flags
+ mc.LEA_rs(esp.value, 2 * WORD)
self._pop_all_regs_from_frame(mc, [], withfloats, callee_only=True)
mc.RET16_i(WORD)
else:
if IS_X86_32:
- # ADD touches CPU flags
- mc.LEA_rs(esp.value, 2 * WORD)
+ XXX
mc.MOV_rs(eax.value, 3 * WORD)
mc.RET()
More information about the pypy-commit
mailing list