From 695c59703c3d0409de78630e5177e135a607894a Mon Sep 17 00:00:00 2001 From: Michael Munday Date: Tue, 17 Jan 2017 09:46:02 -0500 Subject: [PATCH] Swap register assignments for BASE and RB. Feels more natural this way round. Puts all parameters in the range [r4,r7] and BASE is now the register used as the literal pool, which seems appropriate. --- src/vm_s390x.dasc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vm_s390x.dasc b/src/vm_s390x.dasc index 6b86c032..b5d5db62 100644 --- a/src/vm_s390x.dasc +++ b/src/vm_s390x.dasc @@ -38,15 +38,15 @@ |//----------------------------------------------------------------------- | |// Fixed register assignments for the interpreter, callee-saved. -|.define BASE, r7 // Base of current Lua stack frame. |.define KBASE, r8 // Constants of current Lua function. |.define PC, r9 // Next PC. |.define DISPATCH, r10 // Opcode dispatch table. |.define ITYPE, r11 // Temporary used for type information. +|.define BASE, r13 // Base of current Lua stack frame. | |// The following temporaries are not saved across C calls, except for RB. |.define RA, r4 // Overlaps CARG3. -|.define RB, r13 // Must be callee-save. +|.define RB, r7 // Must be callee-save. |.define RC, r5 // Overlaps CARG4. |.define RD, r6 // Overlaps CARG5. |