From e151edea531cf9341cebb1763136529ca8a39bb1 Mon Sep 17 00:00:00 2001 From: Michael Munday Date: Tue, 17 Jan 2017 14:05:31 -0500 Subject: [PATCH] Avoid saving/restoring floating point registers when entering the interpreter. We only need to worry about doing this if we actually use those floating point registers. --- src/vm_s390x.dasc | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/src/vm_s390x.dasc b/src/vm_s390x.dasc index b5d5db62..cb58cb95 100644 --- a/src/vm_s390x.dasc +++ b/src/vm_s390x.dasc @@ -103,26 +103,10 @@ |.macro saveregs | stmg r6, r15, SAVE_GPRS_P | lay sp, -CFRAME_SPACE(sp) // Allocate stack frame. -| // TODO: save backchain? -| std f8, SAVE_FPR8 // f8-f15 are callee-saved. -| std f9, SAVE_FPR9 -| std f10, SAVE_FPR10 -| std f11, SAVE_FPR11 -| std f12, SAVE_FPR12 -| std f13, SAVE_FPR13 -| std f14, SAVE_FPR14 -| std f15, SAVE_FPR15 +| // f8-f15 are also callee-save but are not currently used in the interpreter. |.endmacro | |.macro restoreregs -| ld f8, SAVE_FPR8 // f8-f15 are callee-saved. -| ld f9, SAVE_FPR9 -| ld f10, SAVE_FPR10 -| ld f11, SAVE_FPR11 -| ld f12, SAVE_FPR12 -| ld f13, SAVE_FPR13 -| ld f14, SAVE_FPR14 -| ld f15, SAVE_FPR15 | lmg r6, r15, SAVE_GPRS // Restores the stack pointer. |.endmacro |