Author: Maciej Fijalkowski <[email protected]>
Branch: arm64
Changeset: r96417:230e2b6a0bae
Date: 2019-04-05 09:27 +0000
http://bitbucket.org/pypy/pypy/changeset/230e2b6a0bae/
Log: use only first 16 registers and make sure the jitframe_fixed_size
agrees
diff --git a/rpython/jit/backend/aarch64/arch.py
b/rpython/jit/backend/aarch64/arch.py
--- a/rpython/jit/backend/aarch64/arch.py
+++ b/rpython/jit/backend/aarch64/arch.py
@@ -8,5 +8,5 @@
# A jitframe is a jit.backend.llsupport.llmodel.jitframe.JITFRAME
# Stack frame fixed area
# Currently only the force_index
-JITFRAME_FIXED_SIZE = 12 + 8
-# 12 GPR + 8 VFP Regs
+JITFRAME_FIXED_SIZE = 16 + 16
+# 20 GPR + 16 VFP Regs
diff --git a/rpython/jit/backend/aarch64/assembler.py
b/rpython/jit/backend/aarch64/assembler.py
--- a/rpython/jit/backend/aarch64/assembler.py
+++ b/rpython/jit/backend/aarch64/assembler.py
@@ -1,7 +1,7 @@
from rpython.jit.backend.aarch64.arch import WORD, JITFRAME_FIXED_SIZE
from rpython.jit.backend.aarch64.codebuilder import InstrBuilder
-#from rpython.jit.backend.arm.locations import imm, StackLocation,
get_fp_offset
+from rpython.jit.backend.arm.locations import imm, StackLocation, get_fp_offset
#from rpython.jit.backend.arm.helper.regalloc import VMEM_imm_size
from rpython.jit.backend.aarch64.opassembler import ResOpAssembler
from rpython.jit.backend.aarch64.regalloc import (Regalloc,
@@ -556,6 +556,10 @@
else:
XXX
+ def new_stack_loc(self, i, tp):
+ base_ofs = self.cpu.get_baseofs_of_frame_field()
+ return StackLocation(i, get_fp_offset(base_ofs, i), tp)
+
def regalloc_mov(self, prev_loc, loc):
"""Moves a value from a previous location to some other location"""
if prev_loc.is_imm():
diff --git a/rpython/jit/backend/aarch64/registers.py
b/rpython/jit/backend/aarch64/registers.py
--- a/rpython/jit/backend/aarch64/registers.py
+++ b/rpython/jit/backend/aarch64/registers.py
@@ -11,7 +11,7 @@
vfpregisters = [VFPRegisterLocation(i) for i in range(32)]
all_vfp_regs = vfpregisters[:16]
-all_regs = registers[:16] + [x19, x20, x21, x22]
+all_regs = registers[:16] #+ [x19, x20, x21, x22]
lr = x30
fp = x29
diff --git a/rpython/jit/backend/aarch64/runner.py
b/rpython/jit/backend/aarch64/runner.py
--- a/rpython/jit/backend/aarch64/runner.py
+++ b/rpython/jit/backend/aarch64/runner.py
@@ -13,6 +13,7 @@
gen_regs = r.all_regs
float_regs = VFPRegisterManager.all_regs
+ from rpython.jit.backend.aarch64.arch import JITFRAME_FIXED_SIZE
IS_64_BIT = True
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit