[pypy-commit] pypy arm-backend-2: add a DOUBLEWORD constant to replace all the 2 * WORD
bivab
noreply at buildbot.pypy.org
Mon Jan 9 11:56:41 CET 2012
Author: David Schneider <david.schneider at picle.org>
Branch: arm-backend-2
Changeset: r51158:0a79c804ce94
Date: 2012-01-03 11:08 +0100
http://bitbucket.org/pypy/pypy/changeset/0a79c804ce94/
Log: add a DOUBLEWORD constant to replace all the 2 * WORD
diff --git a/pypy/jit/backend/arm/arch.py b/pypy/jit/backend/arm/arch.py
--- a/pypy/jit/backend/arm/arch.py
+++ b/pypy/jit/backend/arm/arch.py
@@ -4,6 +4,7 @@
FUNC_ALIGN = 8
WORD = 4
+DOUBLE_WORD = 8
# the number of registers that we need to save around malloc calls
N_REGISTERS_SAVED_BY_MALLOC = 9
diff --git a/pypy/jit/backend/arm/assembler.py b/pypy/jit/backend/arm/assembler.py
--- a/pypy/jit/backend/arm/assembler.py
+++ b/pypy/jit/backend/arm/assembler.py
@@ -6,7 +6,7 @@
decode64
from pypy.jit.backend.arm import conditions as c
from pypy.jit.backend.arm import registers as r
-from pypy.jit.backend.arm.arch import WORD, FUNC_ALIGN, \
+from pypy.jit.backend.arm.arch import WORD, DOUBLE_WORD, FUNC_ALIGN, \
PC_OFFSET, N_REGISTERS_SAVED_BY_MALLOC
from pypy.jit.backend.arm.codebuilder import ARMv7Builder, OverwritingBuilder
from pypy.jit.backend.arm.regalloc import (Regalloc, ARMFrameManager,
@@ -85,7 +85,7 @@
self.STACK_FIXED_AREA += N_REGISTERS_SAVED_BY_MALLOC * WORD
if self.cpu.supports_floats:
self.STACK_FIXED_AREA += (len(r.callee_saved_vfp_registers)
- * 2 * WORD)
+ * DOUBLE_WORD)
if self.STACK_FIXED_AREA % 8 != 0:
self.STACK_FIXED_AREA += WORD # Stack alignment
assert self.STACK_FIXED_AREA % 8 == 0
@@ -202,16 +202,16 @@
enc = rffi.cast(rffi.CCHARP, mem_loc)
frame_depth = frame_loc - (regs_loc + len(r.all_regs)
- * WORD + len(r.all_vfp_regs) * 2 * WORD)
+ * WORD + len(r.all_vfp_regs) * DOUBLE_WORD)
assert (frame_loc - frame_depth) % 4 == 0
stack = rffi.cast(rffi.CCHARP, frame_loc - frame_depth)
assert regs_loc % 4 == 0
vfp_regs = rffi.cast(rffi.CCHARP, regs_loc)
- assert (regs_loc + len(r.all_vfp_regs) * 2 * WORD) % 4 == 0
+ assert (regs_loc + len(r.all_vfp_regs) * DOUBLE_WORD) % 4 == 0
assert frame_depth >= 0
regs = rffi.cast(rffi.CCHARP,
- regs_loc + len(r.all_vfp_regs) * 2 * WORD)
+ regs_loc + len(r.all_vfp_regs) * DOUBLE_WORD)
i = -1
fail_index = -1
while(True):
@@ -253,7 +253,7 @@
else: # REG_LOC
reg = ord(enc[i])
if group == self.FLOAT_TYPE:
- value = decode64(vfp_regs, reg * 2 * WORD)
+ value = decode64(vfp_regs, reg * DOUBLE_WORD)
self.fail_boxes_float.setitem(fail_index, value)
continue
else:
diff --git a/pypy/jit/backend/arm/runner.py b/pypy/jit/backend/arm/runner.py
--- a/pypy/jit/backend/arm/runner.py
+++ b/pypy/jit/backend/arm/runner.py
@@ -1,5 +1,5 @@
from pypy.jit.backend.arm.assembler import AssemblerARM
-from pypy.jit.backend.arm.arch import WORD
+from pypy.jit.backend.arm.arch import WORD, DOUBLE_WORD
from pypy.jit.backend.arm.registers import all_regs, all_vfp_regs
from pypy.jit.backend.llsupport.llmodel import AbstractLLCPU
from pypy.rpython.llinterp import LLInterpreter
@@ -111,7 +111,7 @@
addr_end_of_frame = (addr_of_force_index -
(frame_depth +
len(all_regs) * WORD +
- len(all_vfp_regs) * 2 * WORD))
+ len(all_vfp_regs) * DOUBLE_WORD))
fail_index_2 = self.assembler.failure_recovery_func(
faildescr._failure_recovery_code,
addr_of_force_index,
More information about the pypy-commit
mailing list