This commit is contained in:
ceriel
1991-09-27 16:19:24 +00:00
parent 63c9fea5c2
commit fb51183da2
29 changed files with 2085 additions and 0 deletions

12
doc/sparc/pics/.distr Normal file
View File

@@ -0,0 +1,12 @@
EM_stack.orig
EM_stack.ours
compile_bars
mem_config
perf
perf.comp
perf.d
perf.dhry
reg_layout
run-time_bars
run-time_bars.bup
signal_stack

View File

@@ -0,0 +1,34 @@
.PS
.ps -2
.vs -2
boxwid = 1.5;
boxht = 0.24
down;
box "actual parameter n-1";
box "." "." "." ht 0.6;
box "actual parameter 0";
move 0.3
box "return status block";
{arrow <- right with .w at last box.e; \
box invis wid 0.3 "LB" }
down
move to 2nd last box.s
move 0.1
box "local variables"
box "compiler temporaries"
move 0.1
box "register save block"
move 0.1
box "dynamic local generators"
move 0.1
box "operand"
box "operand"
move 0.1
box "parameter m-1"
box "." "." "." ht 0.6;
box "parameter 0" with .n at last box .s
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "SP" }
.ps +2
.vs +2
.PE

View File

@@ -0,0 +1,106 @@
.ps 10
.vs 12
.PS
boxwid = 1.3
boxht = 0.25
down;
box "floating point" "register dump area" ht 0.6
box "tmp float store"
box "register dump area" ht 0.6
{ arrow <- right with .w at 3/4 <last box.e, last box.se>; \
box invis wid 0.3 "%fp" }
move .1
box dotted "gap"
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "%LB" }
move .1
box "locals"
box "actual parameter n-1";
box "." "." "." ht 0.6;
box "actual parameter 0";
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "%SP" }
move 0.1
box "large gap" "(>64kb)" ht 1.0
box "register dump area" ht 0.6
{ arrow <- right with .w at 3/4 <last box.e, last box.se>; \
box invis wid 0.3 "%sp" }
move 0.2
box invis "\\s+2just before call\\s0"
move 1
box dotted "gap"
box invis "0 or 4 bytes" "for stack alignment" with .w at last box.e
box invis height .7 "when gap is 0 bytes," "%fp == %LB" with .n at 2nd last box.s
.PF
.PS
down;
move to 2.4,0
box "floating point" "register dump area" ht 0.6
box "tmp float store"
box "register dump area" ht 0.6
{ arrow <- right with .w at 3/4 <last box.e, last box.se>; \
box invis wid 0.3 "%fp" }
move .1
box dotted "gap"
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "%LB" }
move .1
box "locals"
box "actual parameter n-1";
box "." "." "." ht 0.6;
box "actual parameter 0";
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "%SP" }
move .1
box dotted "gap"
move .4
box "floating point" "register dump area" ht 0.6
box "tmp float store"
box "register dump area" ht 0.6
{ arrow <- right with .w at 3/4 <last box.e, last box.se>; \
box invis wid 0.3 "%sp" }
move 0.2
box invis "\\s+2'during' call\\s0"
.PF
.PS
down;
move to 4.8,0
box "floating point" "register dump area" ht 0.6
box "tmp float store"
box "register dump area" ht 0.6
move .1
box dotted "gap"
move .1
box "locals"
box "actual parameter n-1";
box "." "." "." ht 0.6;
box "actual parameter 0";
move .1
box dotted "gap"
move .4
box "floating point" "register dump area" ht 0.6
box "tmp float store"
box "register dump area" ht 0.6
{ arrow <- right with .w at 3/4 <last box.e, last box.se>; \
box invis wid 0.3 "%fp" }
move .1
box dotted "gap"
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "%LB" }
move .1
box "locals"
box "actual parameter n-1";
box "." "." "." ht 0.6;
box "actual parameter 0";
{ arrow <- right with .w at last box.e; \
box invis wid 0.3 "%SP" }
move 0.1
box "large gap" "(>64kb)" ht 1.0
box "register dump area" ht 0.6
{ arrow <- right with .w at 3/4 <last box.e, last box.se>; \
box invis wid 0.3 "%sp" }
move 0.2
box invis "\\s+2after call\\s0"
.PF
.ps 12
.vs 14

View File

@@ -0,0 +1,49 @@
.PS
boxht = 0.5
boxwid = 1
moveht = 0.65
down;
{
right;
box invis "ACK" "w/o" "opt"
box "cem" "0.7" wid 0.7
box "opt" "0.4" wid 0.4
box "be" "1.1" wid 1.1
box "as" "1.4" wid 1.4
box "ld" "0.4" wid 0.4
box invis "4.0" wid 0.5
}
move
{
right;
box invis "ACK" "with" "opt"
box "cem" "0.7" wid 0.7
box "opt" "0.4" wid 0.4
box "be" "0.6" wid 0.6
box "as" "0.7" wid 0.7
box "ld" "0.4" wid 0.4
box invis "2.8" wid 0.5
}
move
{
right;
box invis "\fIcc\fR"
box "cpp" "0.2" wid 0.2
box "ccom" "1.0" wid 1.0
box "as" "0.7" wid 0.7
box "ld" "0.4" wid 0.4
box invis "2.3" wid 0.5
}
move
{
right;
box invis "\fIcc -O4\fR"
box "cpp" "0.2" wid 0.2
box "ccom" "1.0" wid 1.0
box "iropt" "5.0 (not to scale!)" wid 1.5
box "cg" "0.7" wid 0.7
box "as" "1.7" wid 1.7
box "ld" "0.4" wid 0.4
box invis "9.0" wid 0.5
}
.PE

34
doc/sparc/pics/mem_config Normal file
View File

@@ -0,0 +1,34 @@
.PS
boxwid = 1.3
down
[
right
[
down;
box "stack" ht .6
box "free" ht 1
box "heap" ht .3
box "text" ht .5
]
move 1
[
down;
box "\s-4SPARC stack\s+4" ht .2
box "\s-4EM stack\s+4" ht .1
box "\s-4SPARC stack\s+4" ht .1
box "\s-4EM stack\s+4" ht .1
box "\s-4free\s+4" ht .2
box "\s-4SPARC stack\s+4" ht .1
box "free" ht .8
box "heap" ht .3
box "text" ht .5
]
]
move .3
[
right
box invis "regular \(UX memory layout"
move 1
box invis "memory layout for EM"
]
.PF

12
doc/sparc/pics/perf Normal file
View File

@@ -0,0 +1,12 @@
.G1
frame invis left solid bot solid
label left "run time" "(log scale)" left .5
label bot "compile time (log scale)"
coord x 0.1,10 log x y 1000,20000 log y
ticks left out at 2000,5000,10000,20000
ticks bot out at 0.1 0.3 1.0 3.0 10
copy "perf.d" thru X
"\(bu" at $1, $2
"$3" rjust at $1, $2
X
.G2

7
doc/sparc/pics/perf.comp Normal file
View File

@@ -0,0 +1,7 @@
in-line in ../A
2.5 17.28 ack w/o opt
1.6 2.93 ack with opt
9.4 2.26 ack -O4
1.5 7.43 \fIcc\fR
2.7 2.02 \fIcc -O4\fR

4
doc/sparc/pics/perf.d Normal file
View File

@@ -0,0 +1,4 @@
1.0 1700 ack w/o opt
1.9 8000 ack with opt
1.6 8000 \fIcc\fR
7 18000 \fIcc -O4\fR

7
doc/sparc/pics/perf.dhry Normal file
View File

@@ -0,0 +1,7 @@
in-line in ../A
3.5 1700 ack w/o opt
2.8 8770 ack with opt
16.0 10434 ack -O4
2.3 7270 \fIcc\fR
9.0 12500 \fIcc -O4\fR

24
doc/sparc/pics/reg_layout Normal file
View File

@@ -0,0 +1,24 @@
.nr PS 12
.nr VS 14
.PP
.TS
allbox;
l l l l
l2f6 l l2f6 l.
g0 0 l0 EM_SP
g1 temporary 1 l1 EM_LB
g2 temporary 2 l2
g3 temporary 3 l3 reserved
g4 64k..1M l4 reserved
g5 temporary 4 l5 reserved
g6 line number l6 reserved
g7 file name l7 reserved
o0 param 1 i0
o1 param 2 i1
o2 param 3 i2
o3 param 4 i3
o4 RETL_LD i4 RETL_ST
o5 RETH_LD i5 RETH_ST
sp stack pointer fp frame pointer
o7 xxx i7 return address
.TE

View File

@@ -0,0 +1,101 @@
.PS
boxht = 0.5
boxwid = 1
moveht = 1
down;
{
right;
box invis "ACK" "w/o" "opt."
move
[
down;
boxht = 0.25
box wid 4.5
"Sieve" ljust at last box.w + 0.1,-0.02
"10(!)" ljust at last box.e + 0.1,-0.02
box wid 4.5 with .nw at last box.sw
"Dhrystones" ljust at last box.w + 0.1,-0.02
"10(!)" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "ACK" "with" "our" "opt."
move
[
down;
boxht = 0.25
box wid 1.4
"Sieve" ljust at last box.w + 0.1,-0.02
"1.4" ljust at last box.e + 0.1,-0.02
box wid 1.9 with .nw at last box.sw
"Dhrystones" ljust at last box.w + 0.1,-0.02
"1.9" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "ACK" "-O4"
move
[
down;
boxht = 0.25
box wid 1.1
"Sieve" ljust at last box.w + 0.1,-0.02
"1.1" ljust at last box.e + 0.1,-0.02
box wid 1.6 with .nw at last box.sw
"Dhrystones" ljust at last box.w + 0.1,-0.02
"1.6" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "Sun's" "compiler" "w/o opt."
move
[
down;
boxht = 0.25
box wid 3.7
"Sieve" ljust at last box.w + 0.1,-0.02
"3.7" ljust at last box.e + 0.1,-0.02
box wid 2.2 with .nw at last box.sw
"Dhrystones" ljust at last box.w + 0.1,-0.02
"2.2" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "Sun's" "compiler" "-O"
move
[
down;
boxht = 0.25
box wid 1.1
"Sieve" ljust at last box.w + 0.1,-0.02
"1.1" ljust at last box.e + 0.1,-0.02
box wid 0.8 with .nw at last box.sw
"Dhryst." ljust at last box.w + 0.1,-0.02
"0.8!" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "Sun's" "compiler" "-O4"
move
[
down;
boxht = 0.25
box wid 1.0
"Sieve" ljust at last box.w + 0.1,-0.02
"1.0" ljust at last box.e + 0.1,-0.02
box wid 1.0 with .nw at last box.sw
"Dhrystones" ljust at last box.w + 0.1,-0.02
"1.0" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
.PE

View File

@@ -0,0 +1,100 @@
.PS
boxht = 0.5
boxwid = 1
moveht = 1
down;
{
right;
box invis "ACK" "w/o" "opt"
move
[
down;
boxht = 0.25
box wid 4.5
"C (arithmetic)" ljust at last box.w + 0.1,-0.02
"10(!)" ljust at last box.e + 0.1,-0.02
box wid 4.5 with .nw at last box.sw
"C (dhrystones)" ljust at last box.w + 0.1,-0.02
"10(!)" ljust at last box.e + 0.1,-0.02
box wid 4.5 with .nw at last box.sw
"Modula-2" ljust at last box.w + 0.1,-0.02
"8(!)" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "ACK" "with" "peep-hole" "opt"
move
[
down;
boxht = 0.25
box wid 1.4
"C (arithmetic)" ljust at last box.w + 0.1,-0.02
"1.4" ljust at last box.e + 0.1,-0.02
box wid 1.9 with .nw at last box.sw
"C (dhrystones)" ljust at last box.w + 0.1,-0.02
"1.9" ljust at last box.e + 0.1,-0.02
box wid 2.5 with .nw at last box.sw
"Modula-2" ljust at last box.w + 0.1,-0.02
"2.5" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "ACK" "-O4"
move
[
down;
boxht = 0.25
box wid 1.1
"C (arithmetic)" ljust at last box.w + 0.1,-0.02
"1.1" ljust at last box.e + 0.1,-0.02
box wid 1.6 with .nw at last box.sw
"C (dhrystones)" ljust at last box.w + 0.1,-0.02
"1.6" ljust at last box.e + 0.1,-0.02
box wid 2.5 with .nw at last box.sw
"Modula-2" ljust at last box.w + 0.1,-0.02
"2.5" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "Sun's" "compiler" "w/o opt."
move
[
down;
boxht = 0.25
box wid 3.7
"C (arithmetic)" ljust at last box.w + 0.1,-0.02
"3.7" ljust at last box.e + 0.1,-0.02
box wid 2.2 with .nw at last box.sw
"C (dhrystones)" ljust at last box.w + 0.1,-0.02
"2.2" ljust at last box.e + 0.1,-0.02
box wid 1.8 with .nw at last box.sw
"Modula-2" ljust at last box.w + 0.1,-0.02
"1.8" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
move
{
right;
box invis "Sun's" "compiler" "-O4"
move
[
down;
boxht = 0.25
box wid 1.0
"C (arith.)" ljust at last box.w + 0.1,-0.02
"1.0" ljust at last box.e + 0.1,-0.02
box wid 1.0 with .nw at last box.sw
"C (dhryst.)" ljust at last box.w + 0.1,-0.02
"1.0" ljust at last box.e + 0.1,-0.02
box wid 1.0 with .nw at last box.sw
"Modula-2" ljust at last box.w + 0.1,-0.02
"1.0" ljust at last box.e + 0.1,-0.02
] with .w at last box.e
}
.PE

View File

@@ -0,0 +1,42 @@
.PS
boxwid = 1.3
down
[
right
[
down;
box "\s-4SPARC stack\s+4" ht .2
box "\s-4EM stack\s+4" ht .1
box "\s-4SPARC stack\s+4" ht .1
box "\s-4EM stack\s+4" ht .1
box "\s-4free\s+4" ht .2
box "\s-4SPARC stack\s+4" ht .1
box "free" ht .8
box "heap" ht .3
box "text" ht .5
]
move 1
[
down;
box "\s-4SPARC stack\s+4" ht .2
box "\s-4EM stack\s+4" ht .1
box "\s-4SPARC stack\s+4" ht .1
box "\s-4EM stack\s+4" ht .1
box "\s-4free\s+4" ht .2
box "\s-4SPARC stack\s+4" ht .1
box "\s-4EM stack\s+4" ht .1
box "\s-4free\s+4" ht .2
box "\s-4SPARC stack\s+4" ht .1
box "free" ht .4
box "heap" ht .3
box "text" ht .5
]
]
move .3
[
right
box invis "before signal"
move 1
box invis "during (1st) signal"
]
.PF