From: eck Date: Wed, 18 Jul 1990 14:53:19 +0000 (+0000) Subject: added stackheight message handling X-Git-Tag: release-5-5~1644 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=4ef2c70ed3d16fb69880f7baf1b890fc59a5526e;p=ack.git added stackheight message handling --- diff --git a/mach/arm/ncg/Makefile b/mach/arm/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/arm/ncg/Makefile +++ b/mach/arm/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/i386/ncg/Makefile b/mach/i386/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/i386/ncg/Makefile +++ b/mach/i386/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/i80/ncg/Makefile b/mach/i80/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/i80/ncg/Makefile +++ b/mach/i80/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/i86/ncg/Makefile b/mach/i86/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/i86/ncg/Makefile +++ b/mach/i86/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/m68020/ncg/Makefile b/mach/m68020/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/m68020/ncg/Makefile +++ b/mach/m68020/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/m68k2/ncg/Makefile b/mach/m68k2/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/m68k2/ncg/Makefile +++ b/mach/m68k2/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/m68k4/ncg/Makefile b/mach/m68k4/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/m68k4/ncg/Makefile +++ b/mach/m68k4/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/moon3/ncg/Makefile b/mach/moon3/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/moon3/ncg/Makefile +++ b/mach/moon3/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/ns/ncg/Makefile b/mach/ns/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/ns/ncg/Makefile +++ b/mach/ns/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/pdp/ncg/Makefile b/mach/pdp/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/pdp/ncg/Makefile +++ b/mach/pdp/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/proto/ncg/Makefile b/mach/proto/ncg/Makefile index 3f0ce1a3b..5d0c99125 100644 --- a/mach/proto/ncg/Makefile +++ b/mach/proto/ncg/Makefile @@ -16,11 +16,11 @@ CDIR=$(EMHOME)/mach/proto/ncg CGG=$(EMHOME)/lib/ncgg CPP=$(EMHOME)/lib/cpp CFILES=$(CDIR)/codegen.c $(CDIR)/compute.c $(CDIR)/equiv.c $(CDIR)/fillem.c \ - $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/main.c $(CDIR)/move.c \ - $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c $(CDIR)/salloc.c \ - $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c -OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o main.o\ - move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o + $(CDIR)/gencode.c $(CDIR)/glosym.c $(CDIR)/label.c $(CDIR)/main.c \ + $(CDIR)/move.c $(CDIR)/nextem.c $(CDIR)/reg.c $(CDIR)/regvar.c \ + $(CDIR)/salloc.c $(CDIR)/state.c $(CDIR)/subr.c $(CDIR)/var.c +OFILES=codegen.o compute.o equiv.o fillem.o gencode.o glosym.o label.o \ + main.o move.o nextem.o reg.o regvar.o salloc.o state.o subr.o var.o all: tables.c make "EMHOME="$(EMHOME) cg @@ -43,6 +43,8 @@ gencode.o: $(CDIR)/gencode.c $(CC) -c $(CFLAGS) $(CDIR)/gencode.c glosym.o: $(CDIR)/glosym.c $(CC) -c $(CFLAGS) $(CDIR)/glosym.c +label.o: $(CDIR)/label.c + $(CC) -c $(CFLAGS) $(CDIR)/label.c main.o: $(CDIR)/main.c $(CC) -c $(CFLAGS) $(CDIR)/main.c move.o: $(CDIR)/move.c @@ -97,6 +99,7 @@ compute.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h compute.o: $(CDIR)/data.h compute.o: $(CDIR)/extern.h compute.o: $(CDIR)/glosym.h +compute.o: $(CDIR)/label.h compute.o: $(CDIR)/param.h compute.o: $(CDIR)/result.h compute.o: tables.h @@ -130,6 +133,10 @@ glosym.o: $(CDIR)/glosym.h glosym.o: $(CDIR)/param.h glosym.o: tables.h glosym.o: $(CDIR)/types.h +label.o: $(CDIR)/label.h +label.o: $(CDIR)/param.h +label.o: tables.h +label.o: $(CDIR)/types.h main.o: $(CDIR)/param.h main.o: tables.h move.o: $(CDIR)/assert.h $(EMHOME)/h/cgg_cg.h diff --git a/mach/proto/ncg/codegen.c b/mach/proto/ncg/codegen.c index e7c64ef15..e1a159b6e 100644 --- a/mach/proto/ncg/codegen.c +++ b/mach/proto/ncg/codegen.c @@ -849,6 +849,19 @@ normalfailed: if (stackpad!=tokpatlen) { level--; #endif return(totalcost); +#ifdef USE_SHC + case DO_LABDEF: { + int index; + + DEBUG("LABDEF"); + if (toplevel) { + getint(index,codep); + printlabel(index); + } + + break; + } +#endif } } doreturn: diff --git a/mach/proto/ncg/compute.c b/mach/proto/ncg/compute.c index 466ad0099..eea29221d 100644 --- a/mach/proto/ncg/compute.c +++ b/mach/proto/ncg/compute.c @@ -11,6 +11,10 @@ static char rcsid[] = "$Header$"; #include "result.h" #include "glosym.h" #include "extern.h" +#ifdef USE_SHC +#include +#include "label.h" +#endif /* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. @@ -72,6 +76,10 @@ char opdesc[] = { LLDEF|RLDEF, /* EX_XOR */ LLDEF|RLDEF, /* EX_AND */ 0, /* EX_ISROM */ +#ifdef USE_SHC + 0, /* EX_STACKHEIGHT */ + 0, /* EX_FALLTHROUGH */ +#endif }; string salloc(),strcpy(),strcat(); @@ -376,5 +384,27 @@ result_t compute(node) register node_p node; { assert(leaf1.e_typ == EV_INT); result.e_v.e_con = -leaf1.e_v.e_con; return(result); +#ifdef USE_SHC + case EX_STACKHEIGHT: /* Hans, new */ + { register label_p lbl; + + lbl = get_label(saveemp[node->ex_lnode].em_u.em_ioper); + if (lbl != NULL) { + result.e_v.e_con = lbl->lb_height; + } else { + result.e_v.e_con = 0; + } + return(result); + } + case EX_FALLTHROUGH: /* Hans, new */ + { register label_p lbl; + + lbl = get_label(saveemp[node->ex_lnode].em_u.em_ioper); + if (lbl != NULL) { + result.e_v.e_con = lbl->lb_fallthrough; + } else result.e_v.e_con = 0; + return(result); + } +#endif } } diff --git a/mach/proto/ncg/fillem.c b/mach/proto/ncg/fillem.c index 5a6a8827d..c5aa71cbd 100644 --- a/mach/proto/ncg/fillem.c +++ b/mach/proto/ncg/fillem.c @@ -127,6 +127,13 @@ fillemlines() { error("unknown instruction byte"); case sp_ilb1: case sp_ilb2: +#ifdef USE_SHC + lp->em_instr = op_lab; + lp->em_optyp = OPSYMBOL; + lp->em_soper = strarg(t); + lp->em_u.em_loper = argval; + return; +#endif case sp_fpseu: case sp_dlb1: case sp_dlb2: @@ -169,6 +176,11 @@ fillemlines() { continue; case PAR_B: t = sp_ilb2; +#ifdef USE_SHC + lp->em_optyp = OPSYMBOL; + lp->em_u.em_loper = argval; + lp->em_soper = strarg(t); +#endif break; case PAR_D: assert(t == sp_cstx); @@ -201,6 +213,7 @@ dopseudo() { error("No table entry for %d",emlines[0].em_instr); nextispseu=0; switch(savetab1) { +#ifndef USE_SHC case sp_ilb1: case sp_ilb2: swtxt(); @@ -215,6 +228,7 @@ dopseudo() { } #endif return; +#endif case sp_dlb1: case sp_dlb2: case sp_dnam: @@ -296,6 +310,16 @@ dopseudo() { fatal("bad pointer size"); if ( getarg(any_ptyp)!=sp_cend ) fatal("too many parameters"); +#ifdef USE_SHC + } else if (argval == ms_sth) { + int lbl, height, flthr; + getarg(ptyp(sp_cst2)); lbl = argval; + getarg(ptyp(sp_cst2)); height = argval; + getarg(ptyp(sp_cst2)); flthr = argval; + if ( getarg(any_ptyp)!=sp_cend ) + fatal("too many parameters"); + add_label(lbl,height, flthr); +#endif #ifdef REGVARS } else if (argval == ms_gto) { getarg(ptyp(sp_cend)); @@ -365,6 +389,9 @@ dopseudo() { break; case ps_end: getarg(cst_ptyp | ptyp(sp_cend)); +#ifdef USE_SHC + kill_labels(); +#endif cleanregs(); #ifdef REGVARS unlinkregs(); diff --git a/mach/proto/ncg/gencode.c b/mach/proto/ncg/gencode.c index c33f492ec..270ee1837 100644 --- a/mach/proto/ncg/gencode.c +++ b/mach/proto/ncg/gencode.c @@ -11,6 +11,9 @@ static char rcsid[] = "$Header$"; #include "data.h" #include "result.h" #include "extern.h" +#ifdef USE_SHC +#include "mach.h" +#endif /* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. @@ -139,3 +142,11 @@ prtoken(tp,leadingchar) token_p tp; { } } } + +#ifdef USE_SHC +printlabel(labnum) +int labnum; +{ + newilb(dollar[labnum].e_v.e_addr.ea_str); +} +#endif diff --git a/mach/proto/ncg/label.c b/mach/proto/ncg/label.c new file mode 100644 index 000000000..7a0c21f3e --- /dev/null +++ b/mach/proto/ncg/label.c @@ -0,0 +1,48 @@ +#include "tables.h" +#ifdef USE_SHC +#include +#include "types.h" +#include "param.h" +#include "label.h" + +static label_p label_list = NULL; +extern char *myalloc(); + +add_label(num, height, flth) +{ + register label_p lbl = NULL; + + if (height <= 0) return; + if (flth != TRUE && flth != FALSE) + fatal("incorrect value for fallthrough"); + + lbl = (label_p) myalloc(sizeof(label_t)); + lbl->lb_next = label_list; + lbl->lb_number = num; + lbl->lb_height = height; + lbl->lb_fallthrough = flth; + label_list = lbl; +} + +label_p get_label(num) +register word num; +{ + register label_p tmp = label_list; + + while (tmp != NULL) { + if (tmp->lb_number == num) return tmp; + tmp = tmp->lb_next; + } + return NULL; +} + +kill_labels() +{ + label_p tmp; + + while((tmp = label_list) != NULL) { + label_list = label_list->lb_next; + myfree((char *)tmp); + } +} +#endif diff --git a/mach/proto/ncg/label.h b/mach/proto/ncg/label.h new file mode 100644 index 000000000..3eed673d5 --- /dev/null +++ b/mach/proto/ncg/label.h @@ -0,0 +1,17 @@ +/* + * This file contains the structures that hold information about the labels. + * The height and the fallthrough functions of the table. + * + * Author: Hans van Eck. + */ + +typedef struct label *label_p; + +typedef struct label { + label_p lb_next; + word lb_number; + int lb_height; + short lb_fallthrough; + } label_t; + +extern label_p get_label(); diff --git a/mach/proto/ncg/nextem.c b/mach/proto/ncg/nextem.c index 9753148a1..0603a1db7 100644 --- a/mach/proto/ncg/nextem.c +++ b/mach/proto/ncg/nextem.c @@ -64,7 +64,12 @@ byte *trypat(bp,len) register byte *bp; { if (Debug) { fprintf(stderr,"Matched:"); for (i=0;ivi_int[0] = INSLABDEF; + vp->vi_int[1] = arg; + return(vp); +} + struct varinfo *gen_preturn() { register struct varinfo *vp; diff --git a/util/ncgg/emlookup.c b/util/ncgg/emlookup.c index 704068a40..63372afe3 100644 --- a/util/ncgg/emlookup.c +++ b/util/ncgg/emlookup.c @@ -25,6 +25,7 @@ initemhash() { for(i=0;i<=sp_lmnem-sp_fmnem;i++) enter(em_mnem[i],i+sp_fmnem); + enter("lab", op_lab); } unsigned emhash(name) register char *name; { diff --git a/util/ncgg/extern.h b/util/ncgg/extern.h index 3620ebd86..28d426cef 100644 --- a/util/ncgg/extern.h +++ b/util/ncgg/extern.h @@ -36,6 +36,7 @@ extern int maxmembers; extern int regclass; extern int maxtokensize; extern int nprocargs, maxprocargs; +extern int use_shc; extern char *mystrcpy(); extern char *myalloc(); diff --git a/util/ncgg/iocc.c b/util/ncgg/iocc.c index 5dcb76182..47631e67b 100644 --- a/util/ncgg/iocc.c +++ b/util/ncgg/iocc.c @@ -206,6 +206,3 @@ instalookup(insta,filled) inst_t insta; { l_instances[i] = insta; return(i); } - - - diff --git a/util/ncgg/keywords b/util/ncgg/keywords index ea5183376..828f4c547 100644 --- a/util/ncgg/keywords +++ b/util/ncgg/keywords @@ -20,12 +20,14 @@ cost COST defined DEFINED exact EXACT example EXAMPLE +fallthrough FALLTHROUGH from FROM gen GEN highw HIGHW inreg INREG is_rom ISROM kills KILLS +labeldef LABELDEF leaving LEAVING loww LOWW move MOVE @@ -41,6 +43,7 @@ reusing REUSING rom ROM samesign SAMESIGN sfit SFIT +stackheight STACKHEIGHT test TEST to TO ufit UFIT diff --git a/util/ncgg/output.c b/util/ncgg/output.c index 97c5b8277..8d12196a4 100644 --- a/util/ncgg/output.c +++ b/util/ncgg/output.c @@ -11,6 +11,7 @@ int code_in_c=1; /* put code in "tables.c" */ int tabledebug=0; /* do not generate code for table debugging */ #endif int verbose=0; /* print all statistics */ +int use_shc; /* use stackheight information */ char *c_file= "tables.c"; char *h_file= "tables.H"; char *cd_file= "code"; @@ -592,6 +593,8 @@ outdefs() { } if (tabledebug) cdef("TABLEDEBUG",1); + if (use_shc) + cdef("USE_SHC",1); } outars() { @@ -826,6 +829,12 @@ varinfo *kills,*allocates,*generates,*yields,*leaving; codeint(vp->vi_int[1]); codenl(); break; + case INSLABDEF: + cocono = 0; + code8(DO_LABDEF); + codeint(vp->vi_int[1]); + codenl(); + break; } } codecoco(cocono); diff --git a/util/ncgg/param.h b/util/ncgg/param.h index a82e5c241..49994b8b8 100644 --- a/util/ncgg/param.h +++ b/util/ncgg/param.h @@ -48,3 +48,6 @@ #define NEXT(n,max,string) (n +#define op_lab (sp_lmnem + 1) diff --git a/util/ncgg/pseudo.h b/util/ncgg/pseudo.h index 390bf0336..aadd9e48f 100644 --- a/util/ncgg/pseudo.h +++ b/util/ncgg/pseudo.h @@ -11,3 +11,4 @@ #define INSSETCC (-5) #define INSERASE (-6) #define INSREMOVE (-7) +#define INSLABDEF (-8)