From ceeeca40f696a7194c795eb1f86c10443e1dc352 Mon Sep 17 00:00:00 2001 From: sater Date: Sat, 19 May 1984 11:49:37 +0000 Subject: [PATCH] added code to save all registers for ms_gto changed place of #ifdef to make this null-module compile faster when no register variables are used. --- mach/proto/cg/regvar.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/mach/proto/cg/regvar.c b/mach/proto/cg/regvar.c index 6be7549e0..6379b9bc2 100644 --- a/mach/proto/cg/regvar.c +++ b/mach/proto/cg/regvar.c @@ -1,10 +1,9 @@ -#ifndef NORCSID -static char rcsid[] = "$Header$"; -#endif - #include "assert.h" #include "param.h" #include "tables.h" + +#ifdef REGVARS + #include "types.h" #include #include "data.h" @@ -31,8 +30,6 @@ static char rcsid[] = "$Header$"; * Author: Hans van Staveren */ -#ifdef REGVARS - struct regvar *rvlist; struct regvar * @@ -95,7 +92,7 @@ tryreg(rvlp,typ) struct regvar *rvlp; { } } -fixregvars() { +fixregvars(saveall) { register struct regvar *rv; register rvtyp,i; @@ -103,7 +100,11 @@ fixregvars() { i_regsave(); /* machine dependent initialization */ for (rvtyp=reg_any;rvtyp<=reg_float;rvtyp++) { for(i=0;i0) { + if (saveall) { + struct reginfo *rp; + rp= &machregs[rvnumbers[rvtyp][i]]; + regsave(codestrings[rp->r_repr],-EM_WSIZE,rp->r_size); + } else if(regassigned[rvtyp][i].ra_score>0) { rv=regassigned[rvtyp][i].ra_rv; rv->rv_reg=rvnumbers[rvtyp][i]; regsave(codestrings[machregs[rv->rv_reg].r_repr], -- 2.34.1