self compile and polyvariance
Stephen Weeks
sweeks@research.nj.nec.com
Sun, 28 Feb 1999 17:54:58 -0500
Here are the counts comparing a self compile with and without
polyvariance. To be precise, I produced two different versions of G1,
one using a version of G0 with polyvariance and the other using a
version of G0 without polyvariance. I then used the two different
versions of G1 (called nonpolyv and polyv here) to compile the same
sml file (which happened to be the sml version of G0).
The numbers show that, as with the other benchmarks, polyvariance
improves dispatches and coercions significantly. I don't have running
times here, because they are meaningless with the instrumentation
turned on. I am doing a run without instrumentation now and will send
those numbers shortly.
I also have the runtime system stats for each run. I believe that
these explain why the polyvariance isn't speeding up the compiler --
it is causing twice as much data to be copied by the GC, which means
twice as much time is spent in GC. This happens even though
polyvariance reduces allocation from 10G to 8G. The explanation is
that the polyvariance is apparently causing some large globals to be
retained. You can see this by looking at the %live at each GC and the
size of the globals at each GC, which I show below. The %live and the
size of the globals is *much* higher for the polyvariant run. I
believe that if this problem is fixed, then we will see a significant
speedup in the compiler from polyvariance. In fact, we should be able
to see it already by looking at the non-GC portion of running time.
nonpolyv polyv
------------- -------------
numTrampolines 2,489,215,676 2,283,570,697
numReturns 1,230,581,573 1,155,043,380
numSelfReturns 134,179,479 148,558,308
numLimitChecks 1,061,564,131 785,320,846
XmlKnown 4,256,616,602 4,256,615,463
XmlUnknown 3,877,551,313 3,877,550,841
SxmlKnown 4,755,904,028 4,831,052,213
SxmlUnknown 873,435,551 194,196,732
CpsKnown 6,119,196,930 5,948,453,359
CpsUnknown 512,889,069 79,541,735
CpsCall 1,399,308,041 1,284,168,285
CpsLoop 1,035,918,662 1,034,808,781
CpsDispatch 505,263,124 75,957,963
CpsCoerce 9,535,063 1,204,826
stackSize 8,388,608 16,777,216
heapSize 419,430,400 419,430,400
GC time 200s 408s
number of GCs 49 50
M allocated 10,192 8,423
M copied 2,411 4,702
bytes live 56,873,012 154,442,140
--------------------------------------------------------------------------------
%live at each GC, sorted in increasing order for nonpolyv run
3.8
3.8
4.9
5.5
5.5
5.5
5.6
6.1
6.2
6.2
6.2
6.8
7.5
7.5
8.2
8.5
8.7
8.7
9.0
9.1
9.3
9.5
9.8
9.9
9.9
10.5
11.2
11.3
11.4
11.4
12.9
13.3
13.3
13.5
13.6
13.7
17.8
18.0
18.9
20.9
22.6
24.0
25.6
25.7
25.8
26.5
26.8
31.8
--------------------------------------------------------------------------------
%live at each GC, sorted in increasing order for polyv run
3.9
3.9
4.9
6.1
6.1
6.2
6.2
6.2
6.2
6.2
6.3
7.5
7.6
7.7
8.4
9.9
18.0
18.8
23.4
23.7
23.7
24.5
24.5
25.0
25.1
25.1
26.0
27.3
28.1
28.6
30.8
31.0
31.5
32.7
32.8
32.8
32.8
32.9
36.6
36.8
37.0
40.3
42.0
43.8
44.2
47.3
47.4
48.1
48.6
--------------------------------------------------------------------------------
size of live globals at each GC, sorted in increasing order for
nonpolyv run
687,500
1,252,524
1,252,524
1,252,524
1,252,656
1,252,788
1,252,788
1,252,788
1,252,788
1,252,788
1,252,788
1,252,788
1,252,788
1,252,920
1,252,920
1,252,920
1,252,920
1,256,652
1,256,740
1,256,912
1,256,912
1,256,912
1,261,000
1,262,428
1,345,296
1,505,480
1,505,620
1,505,620
1,505,620
1,505,620
1,527,568
1,529,792
2,175,732
2,479,204
2,536,272
3,440,320
4,139,452
5,438,820
6,276,792
6,280,772
6,310,196
6,400,928
6,418,372
8,135,880
16,610,500
16,901,348
23,676,744
49,444,492
59,599,344
--------------------------------------------------------------------------------
size of live globals at each GC, sorted in increasing order for
nonpolyv run
698,724
1,267,900
1,267,988
1,268,160
1,268,160
1,268,160
1,272,248
1,273,648
1,356,464
2,490,452
3,451,568
4,432,220
5,450,088
6,288,060
6,292,016
6,321,440
6,412,172
29,294,872
46,293,352
50,941,332
51,370,484
51,370,484
66,768,808
70,842,460
71,543,588
71,543,588
78,669,164
80,536,012
83,637,096
84,483,120
90,104,368
94,336,308
95,681,664
96,193,096
96,955,876
97,011,672
99,781,204
101,101,524
102,927,472
103,954,292
104,054,936
105,387,048
110,171,992
114,414,860
120,240,104
127,086,612
128,559,028
130,065,996
130,440,444
150,120,504
--------------------------------------------------------------------------------
log file follows
--------------------------------------------------------------------------------
+ hostname
snake.nj.nec.com
+ cd /home/sweeks/smlc/src
+ echo running CM
running CM
+ cmcat -filename sources.cm
+ echo making nj version
making nj version
+ cat /tmp/z
+ xargs cat
+ cat
+ echo making smlc version
making smlc version
+ cat
+ egrep -v smlc.sml /tmp/z
+ egrep -v smlc.sig
+ xargs cat
+ cat
+ echo G0: producing separately compiled version of smlc using SML/NJ
G0: producing separately compiled version of smlc using SML/NJ
+ cd /home/sweeks/smlc/src
+ sml
+ cat
Standard ML of New Jersey v110.9.1 [FLINT v1.41], October 19, 1998
val use = fn : string -> unit
- val it = () : unit
[starting dependency analysis]
[scanning sources.cm]
[checking CM/x86-unix/sources.cm.stable... not usable]
[scanning library/sources.cm]
[checking library/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/array/sources.cm]
[checking library/array/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/basic/sources.cm]
[checking library/basic/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/pervasive/sources.cm]
[checking library/pervasive/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/list/sources.cm]
[checking library/list/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/number/sources.cm]
[checking library/number/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/smlnj-lib/sources.cm]
[checking library/smlnj-lib/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/promise/sources.cm]
[checking library/promise/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/sequence/sources.cm]
[checking library/sequence/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/container/sources.cm]
[checking library/container/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/directed-graph/sources.cm]
[checking library/directed-graph/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/misc/sources.cm]
[checking library/misc/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/time/sources.cm]
[checking library/time/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/property/sources.cm]
[checking library/property/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/set/sources.cm]
[checking library/set/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/trace/sources.cm]
[checking library/trace/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/env/sources.cm]
[checking library/env/CM/x86-unix/sources.cm.stable... not usable]
[scanning library/ml-yacc-lib/sources.cm]
[checking library/ml-yacc-lib/CM/x86-unix/sources.cm.stable... not usable]
[scanning ast/sources.cm]
[checking ast/CM/x86-unix/sources.cm.stable... not usable]
[scanning control/sources.cm]
[checking control/CM/x86-unix/sources.cm.stable... not usable]
[scanning atoms/sources.cm]
[checking atoms/CM/x86-unix/sources.cm.stable... not usable]
[scanning backend/sources.cm]
[checking backend/CM/x86-unix/sources.cm.stable... not usable]
[scanning cps/sources.cm]
[checking cps/CM/x86-unix/sources.cm.stable... not usable]
[scanning closure-convert/sources.cm]
[checking closure-convert/CM/x86-unix/sources.cm.stable... not usable]
[scanning xml/sources.cm]
[checking xml/CM/x86-unix/sources.cm.stable... not usable]
[scanning core-ml/sources.cm]
[checking core-ml/CM/x86-unix/sources.cm.stable... not usable]
[scanning elaborate/sources.cm]
[checking elaborate/CM/x86-unix/sources.cm.stable... not usable]
[scanning front-end/sources.cm]
[checking front-end/CM/x86-unix/sources.cm.stable... not usable]
[scanning front-end/import.cm]
[checking front-end/CM/x86-unix/import.cm.stable... not usable]
[scanning type-inference/sources.cm]
[checking type-inference/CM/x86-unix/sources.cm.stable... not usable]
[dependency analysis completed]
[recovering library/basic/CM/x86-unix/error.sig.bin... done]
[recovering library/basic/CM/x86-unix/error.sml.bin... done]
[recovering library/basic/CM/x86-unix/dynamic-wind.sig.bin... done]
[recovering library/basic/CM/x86-unix/dynamic-wind.sml.bin... done]
[recovering library/pervasive/CM/x86-unix/pervasive.sml.bin... done]
[recovering library/basic/CM/x86-unix/outstream.sig.bin... done]
[recovering library/basic/CM/x86-unix/outstream.sml.bin... done]
[recovering library/basic/CM/x86-unix/relation.sig.bin... done]
[recovering library/basic/CM/x86-unix/relation.sml.bin... done]
[recovering library/basic/CM/x86-unix/char0.sig.bin... done]
[recovering library/basic/CM/x86-unix/char0.sml.bin... done]
[recovering library/basic/CM/x86-unix/order0.sig.bin... done]
[recovering library/basic/CM/x86-unix/string0.sig.bin... done]
[recovering library/basic/CM/x86-unix/string0.sml.bin... done]
[recovering library/basic/CM/x86-unix/layout.sig.bin... done]
[recovering library/basic/CM/x86-unix/layout.sml.bin... done]
[recovering library/basic/CM/x86-unix/string.sig.bin... done]
[recovering library/basic/CM/x86-unix/string.sml.bin... done]
[recovering library/basic/CM/x86-unix/instream.sig.bin... done]
[recovering library/basic/CM/x86-unix/instream.sml.bin... done]
[recovering library/basic/CM/x86-unix/char.sig.bin... done]
[recovering library/basic/CM/x86-unix/char.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/lib-base-sig.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/lib-base.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/random-sig.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/random.sml.bin... done]
[recovering library/basic/CM/x86-unix/iterate.sig.bin... done]
[recovering library/basic/CM/x86-unix/iterate.sml.bin... done]
[recovering library/basic/CM/x86-unix/t.sig.bin... done]
[recovering library/number/CM/x86-unix/basic-ring.sig.bin... done]
[recovering library/number/CM/x86-unix/ring.sig.bin... done]
[recovering library/number/CM/x86-unix/ordered-ring.sig.bin... done]
[recovering library/number/CM/x86-unix/integer.sig.bin... done]
[recovering library/number/CM/x86-unix/ring.fun.bin... done]
[recovering library/number/CM/x86-unix/basic-ordered-ring.sig.bin... done]
[recovering library/number/CM/x86-unix/ordered-ring.fun.bin... done]
[recovering library/number/CM/x86-unix/basic-integer.sig.bin... done]
[recovering library/number/CM/x86-unix/integer.fun.bin... done]
[recovering library/number/CM/x86-unix/fixed-integer.sig.bin... done]
[recovering library/number/CM/x86-unix/fixed-integer.sml.bin... done]
[recovering library/container/CM/x86-unix/container.sig.bin... done]
[recovering library/sequence/CM/x86-unix/sequence.sig.bin... done]
[recovering library/sequence/CM/x86-unix/destructable.sig.bin... done]
[recovering library/list/CM/x86-unix/list.sig.bin... done]
[recovering library/list/CM/x86-unix/strict.sig.bin... done]
[recovering library/sequence/CM/x86-unix/basic.sig.bin... done]
[recovering library/list/CM/x86-unix/basic.sig.bin... done]
[recovering library/list/CM/x86-unix/basic-iter.sig.bin... done]
[recovering library/sequence/CM/x86-unix/destructable.fun.bin... done]
[recovering library/list/CM/x86-unix/list.fun.bin... done]
[recovering library/list/CM/x86-unix/strict.fun.bin... done]
[recovering library/list/CM/x86-unix/iter.fun.bin... done]
[recovering library/list/CM/x86-unix/basic-strict.sig.bin... done]
[recovering library/list/CM/x86-unix/basic-strict.fun.bin... done]
[recovering library/list/CM/x86-unix/strict.sml.bin... done]
[recovering library/basic/CM/x86-unix/order.sig.bin... done]
[recovering library/time/CM/x86-unix/time.sig.bin... done]
[recovering library/time/CM/x86-unix/time.fun.bin... done]
[recovering library/misc/CM/x86-unix/process.sig.bin... done]
[recovering library/misc/CM/x86-unix/process.sml.bin... done]
[recovering library/misc/CM/x86-unix/file.sig.bin... done]
[recovering library/misc/CM/x86-unix/dir.sig.bin... done]
[recovering library/misc/CM/x86-unix/filesys.fun.bin... done]
[recovering library/misc/CM/x86-unix/my-dirs.sig.bin... done]
[recovering library/misc/CM/x86-unix/my-dirs.sml.bin... done]
[recovering library/basic/CM/x86-unix/ref.sig.bin... done]
[recovering library/basic/CM/x86-unix/ref.sml.bin... done]
[recovering library/list/CM/x86-unix/list-ref.sig.bin... done]
[recovering library/list/CM/x86-unix/list-ref.fun.bin... done]
[recovering library/basic/CM/x86-unix/option.sig.bin... done]
[recovering library/basic/CM/x86-unix/option.sml.bin... done]
[recovering library/basic/CM/x86-unix/bool.sig.bin... done]
[recovering library/basic/CM/x86-unix/bool.sml.bin... done]
[recovering library/number/CM/x86-unix/ring-elt-ref.sig.bin... done]
[recovering library/number/CM/x86-unix/ring-elt-ref.fun.bin... done]
[recovering library/number/CM/x86-unix/int-ref.sml.bin... done]
[recovering library/time/CM/x86-unix/date.sig.bin... done]
[recovering library/time/CM/x86-unix/date.fun.bin... done]
[recovering library/basic/CM/x86-unix/unit.sig.bin... done]
[recovering library/basic/CM/x86-unix/unit.sml.bin... done]
[recovering library/trace/CM/x86-unix/string-map.sig.bin... done]
[recovering library/trace/CM/x86-unix/computation.sig.bin... done]
[recovering library/trace/CM/x86-unix/intermediate-computation.sig.bin... done]
[recovering library/trace/CM/x86-unix/trace.sig.bin... done]
[recovering library/trace/CM/x86-unix/trace.fun.bin... done]
[recovering library/trace/CM/x86-unix/string-map.fun.bin... done]
[recovering library/trace/CM/x86-unix/intermediate-computation.fun.bin... done]
[recovering library/trace/CM/x86-unix/link.sml.bin... done]
[recovering control/CM/x86-unix/smlc.sig.bin... done]
[recovering control/CM/x86-unix/smlc.sml.bin... done]
[recovering control/CM/x86-unix/region.sig.bin... done]
[recovering control/CM/x86-unix/region.fun.bin... done]
[recovering control/CM/x86-unix/control.sig.bin... done]
[recovering control/CM/x86-unix/control.sml.bin... done]
[recovering CM/x86-unix/popt.sig.bin... done]
[recovering CM/x86-unix/popt.sml.bin... done]
[recovering library/property/CM/x86-unix/property-list.sig.bin... done]
[recovering library/property/CM/x86-unix/property.sig.bin... done]
[recovering library/property/CM/x86-unix/property.fun.bin... done]
[recovering library/number/CM/x86-unix/basic-ordered-field.sig.bin... done]
[recovering library/number/CM/x86-unix/basic-real.sig.bin... done]
[recovering library/number/CM/x86-unix/real.sig.bin... done]
[recovering library/number/CM/x86-unix/basic-field.sig.bin... done]
[recovering library/number/CM/x86-unix/field.sig.bin... done]
[recovering library/number/CM/x86-unix/field.fun.bin... done]
[recovering library/number/CM/x86-unix/ordered-field.sig.bin... done]
[recovering library/number/CM/x86-unix/ordered-field.fun.bin... done]
[recovering library/number/CM/x86-unix/real.fun.bin... done]
[recovering library/number/CM/x86-unix/float-real.sig.bin... done]
[recovering library/number/CM/x86-unix/float-real.sml.bin... done]
[recovering library/property/CM/x86-unix/het-container.sig.bin... done]
[recovering library/property/CM/x86-unix/property-list.fun.bin... done]
[recovering library/property/CM/x86-unix/het-container.fun.bin... done]
[recovering library/property/CM/x86-unix/link.sml.bin... done]
[recovering library/misc/CM/x86-unix/counter.sig.bin... done]
[recovering library/misc/CM/x86-unix/counter.fun.bin... done]
[recovering ast/CM/x86-unix/wrapped.sig.bin... done]
[recovering ast/CM/x86-unix/tyvar.sig.bin... done]
[recovering ast/CM/x86-unix/tyvar.fun.bin... done]
[recovering ast/CM/x86-unix/field.sig.bin... done]
[recovering ast/CM/x86-unix/record.sig.bin... done]
[recovering ast/CM/x86-unix/record.fun.bin... done]
[recovering ast/CM/x86-unix/field.fun.bin... done]
[recovering ast/CM/x86-unix/ast-const.sig.bin... done]
[recovering ast/CM/x86-unix/ast-const.fun.bin... done]
[recovering ast/CM/x86-unix/prim-tycons.sig.bin... done]
[recovering ast/CM/x86-unix/prim-cons.sig.bin... done]
[recovering ast/CM/x86-unix/ast-id.sig.bin... done]
[recovering ast/CM/x86-unix/longid.sig.bin... done]
[recovering ast/CM/x86-unix/ast-atoms.sig.bin... done]
[recovering ast/CM/x86-unix/ast-core.sig.bin... done]
[recovering ast/CM/x86-unix/ast-core.fun.bin... done]
[recovering ast/CM/x86-unix/prim-tycons.fun.bin... done]
[recovering ast/CM/x86-unix/prim-cons.fun.bin... done]
[recovering ast/CM/x86-unix/longid.fun.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/hash-string.sml.bin... done]
[recovering ast/CM/x86-unix/ast-id.fun.bin... done]
[recovering ast/CM/x86-unix/ast-atoms.fun.bin... done]
[recovering ast/CM/x86-unix/ast.sig.bin... done]
[recovering ast/CM/x86-unix/ast.fun.bin... done]
[recovering library/container/CM/x86-unix/mono-container.sig.bin... done]
[recovering library/set/CM/x86-unix/set.sig.bin... done]
[recovering library/set/CM/x86-unix/unordered.fun.bin... done]
[recovering library/env/CM/x86-unix/mono-env.sig.bin... done]
[recovering library/env/CM/x86-unix/basic-env-to-env.fun.bin... done]
[recovering library/env/CM/x86-unix/env.sig.bin... done]
[recovering library/env/CM/x86-unix/mono-env.fun.bin... done]
[recovering atoms/CM/x86-unix/id.sig.bin... done]
[recovering atoms/CM/x86-unix/var.sig.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/hash-table-rep.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/hash-table-sig.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/hash-table.sml.bin... done]
[recovering atoms/CM/x86-unix/id.fun.bin... done]
[recovering atoms/CM/x86-unix/var.fun.bin... done]
[recovering atoms/CM/x86-unix/tycon.sig.bin... done]
[recovering atoms/CM/x86-unix/unary-tycon.sig.bin... done]
[recovering atoms/CM/x86-unix/unary-tycon.fun.bin... done]
[recovering atoms/CM/x86-unix/use-name.fun.bin... done]
[recovering atoms/CM/x86-unix/tycon.fun.bin... done]
[recovering atoms/CM/x86-unix/type-ops.sig.bin... done]
[recovering atoms/CM/x86-unix/type-ops.fun.bin... done]
[recovering atoms/CM/x86-unix/type.sig.bin... done]
[recovering atoms/CM/x86-unix/type.fun.bin... done]
[recovering atoms/CM/x86-unix/small-int-inf.sig.bin... done]
[recovering atoms/CM/x86-unix/small-int-inf.fun.bin... done]
[recovering atoms/CM/x86-unix/generic-scheme.sig.bin... done]
[recovering atoms/CM/x86-unix/scheme.sig.bin... done]
[recovering atoms/CM/x86-unix/prim.sig.bin... done]
[recovering atoms/CM/x86-unix/prim.fun.bin... done]
[recovering atoms/CM/x86-unix/con.sig.bin... done]
[recovering atoms/CM/x86-unix/const.sig.bin... done]
[recovering atoms/CM/x86-unix/atoms.sig.bin... done]
[recovering atoms/CM/x86-unix/generic-scheme.fun.bin... done]
[recovering atoms/CM/x86-unix/const.fun.bin... done]
[recovering atoms/CM/x86-unix/con.fun.bin... done]
[recovering atoms/CM/x86-unix/atoms.fun.bin... done]
[recovering atoms/CM/x86-unix/hash-type.sig.bin... done]
[recovering cps/CM/x86-unix/cps-tree.sig.bin... done]
[recovering cps/CM/x86-unix/analyze.sig.bin... done]
[recovering cps/CM/x86-unix/infer-handlers.sig.bin... done]
[recovering cps/CM/x86-unix/type-check.sig.bin... done]
[recovering cps/CM/x86-unix/type-check.fun.bin... done]
[recovering library/set/CM/x86-unix/disjoint.sig.bin... done]
[recovering library/set/CM/x86-unix/disjoint.fun.bin... done]
[recovering atoms/CM/x86-unix/extract-targs.sig.bin... done]
[recovering atoms/CM/x86-unix/extract-targs.fun.bin... done]
[recovering cps/CM/x86-unix/shrink.sig.bin... done]
[recovering cps/CM/x86-unix/useless.sig.bin... done]
[recovering cps/CM/x86-unix/two-point-lattice.sig.bin... done]
[recovering cps/CM/x86-unix/two-point-lattice.fun.bin... done]
[recovering cps/CM/x86-unix/useless.fun.bin... done]
[recovering cps/CM/x86-unix/simplify-types.sig.bin... done]
[recovering cps/CM/x86-unix/simplify-types.fun.bin... done]
[recovering cps/CM/x86-unix/simplify.sig.bin... done]
[recovering cps/CM/x86-unix/constant-propagation.sig.bin... done]
[recovering library/directed-graph/CM/x86-unix/directed-graph.sig.bin... done]
[recovering library/directed-graph/CM/x86-unix/directed-graph.fun.bin... done]
[recovering library/directed-graph/CM/x86-unix/link.sml.bin... done]
[recovering cps/CM/x86-unix/once.sig.bin... done]
[recovering cps/CM/x86-unix/once.fun.bin... done]
[recovering cps/CM/x86-unix/global.sig.bin... done]
[recovering cps/CM/x86-unix/global.fun.bin... done]
[recovering cps/CM/x86-unix/constant-propagation.fun.bin... done]
[recovering cps/CM/x86-unix/contify.sig.bin... done]
[recovering cps/CM/x86-unix/contify.fun.bin... done]
[recovering cps/CM/x86-unix/cps-inline.sig.bin... done]
[recovering cps/CM/x86-unix/cps-inline.fun.bin... done]
[recovering library/basic/CM/x86-unix/function.sig.bin... done]
[recovering library/basic/CM/x86-unix/function.sml.bin... done]
[recovering library/misc/CM/x86-unix/unique-id.sig.bin... done]
[recovering library/misc/CM/x86-unix/unique-id.fun.bin... done]
[recovering cps/CM/x86-unix/flatten.sig.bin... done]
[recovering cps/CM/x86-unix/deep-flatten.fun.bin... done]
[recovering cps/CM/x86-unix/flatten.fun.bin... done]
[recovering cps/CM/x86-unix/inline.sig.bin... done]
[recovering cps/CM/x86-unix/inline.fun.bin... done]
[recovering cps/CM/x86-unix/introduce-loops.sig.bin... done]
[recovering cps/CM/x86-unix/introduce-loops.fun.bin... done]
[recovering cps/CM/x86-unix/loop-count.sig.bin... done]
[recovering cps/CM/x86-unix/loop-count.fun.bin... done]
[recovering cps/CM/x86-unix/loop-invariant.sig.bin... done]
[recovering cps/CM/x86-unix/loop-invariant.fun.bin... done]
[recovering cps/CM/x86-unix/poly-equal.sig.bin... done]
[recovering cps/CM/x86-unix/poly-equal.fun.bin... done]
[recovering cps/CM/x86-unix/raise-to-jump.sig.bin... done]
[recovering cps/CM/x86-unix/raise-to-jump.fun.bin... done]
[recovering atoms/CM/x86-unix/fixed-point.sig.bin... done]
[recovering atoms/CM/x86-unix/fixed-point.sml.bin... done]
[recovering cps/CM/x86-unix/redundant.sig.bin... done]
[recovering library/list/CM/x86-unix/ring-elt-list.sig.bin... done]
[recovering library/list/CM/x86-unix/ring-elt-list.fun.bin... done]
[recovering library/sequence/CM/x86-unix/convert.fun.bin... done]
[recovering library/promise/CM/x86-unix/promise.sig.bin... done]
[recovering library/promise/CM/x86-unix/unmemo.fun.bin... done]
[recovering library/promise/CM/x86-unix/promise.fun.bin... done]
[recovering library/list/CM/x86-unix/lazy.sig.bin... done]
[recovering library/list/CM/x86-unix/basic-lazy.sig.bin... done]
[recovering library/list/CM/x86-unix/basic-lazy.fun.bin... done]
[recovering library/list/CM/x86-unix/lazy.fun.bin... done]
[recovering library/array/CM/x86-unix/basic.sig.bin... done]
[recovering library/array/CM/x86-unix/basic-1D.sig.bin... done]
[recovering library/array/CM/x86-unix/array.sig.bin... done]
[recovering library/array/CM/x86-unix/1D.sig.bin... done]
[recovering library/array/CM/x86-unix/basic-1D.fun.bin... done]
[recovering library/array/CM/x86-unix/1D.fun.bin... done]
[recovering cps/CM/x86-unix/equivalence-relation.sig.bin... done]
[recovering cps/CM/x86-unix/equivalence-relation.fun.bin... done]
[recovering cps/CM/x86-unix/redundant.fun.bin... done]
[recovering cps/CM/x86-unix/remove-unused-constructors.sig.bin... done]
[recovering cps/CM/x86-unix/remove-unused-constructors.fun.bin... done]
[recovering cps/CM/x86-unix/remove-unused-functions.sig.bin... done]
[recovering cps/CM/x86-unix/remove-unused-functions.fun.bin... done]
[recovering cps/CM/x86-unix/remove-unused-globals.sig.bin... done]
[recovering cps/CM/x86-unix/remove-unused-globals.fun.bin... done]
[recovering cps/CM/x86-unix/save-world.sig.bin... done]
[recovering cps/CM/x86-unix/save-world.fun.bin... done]
[recovering cps/CM/x86-unix/simplify.fun.bin... done]
[recovering cps/CM/x86-unix/shrink.fun.bin... done]
[recovering cps/CM/x86-unix/infer-handlers.fun.bin... done]
[recovering cps/CM/x86-unix/cps.sig.bin... done]
[recovering cps/CM/x86-unix/analyze.fun.bin... done]
[recovering atoms/CM/x86-unix/hash-type.fun.bin... done]
[recovering cps/CM/x86-unix/cps-tree.fun.bin... done]
[recovering cps/CM/x86-unix/cps.fun.bin... done]
[recovering library/basic/CM/x86-unix/assert.sig.bin... done]
[recovering library/basic/CM/x86-unix/assert.sml.bin... done]
[recovering library/set/CM/x86-unix/hash-set.sig.bin... done]
[recovering library/set/CM/x86-unix/hash-set.fun.bin... done]
[recovering backend/CM/x86-unix/mtype.sig.bin... done]
[recovering backend/CM/x86-unix/mtype.fun.bin... done]
[recovering backend/CM/x86-unix/machine.sig.bin... done]
[recovering backend/CM/x86-unix/machine.fun.bin... done]
[recovering backend/CM/x86-unix/representation.sig.bin... done]
[recovering backend/CM/x86-unix/representation.fun.bin... done]
[recovering backend/CM/x86-unix/parallel-move.sig.bin... done]
[recovering backend/CM/x86-unix/parallel-move.fun.bin... done]
[recovering backend/CM/x86-unix/limit-check.sig.bin... done]
[recovering backend/CM/x86-unix/limit-check.fun.bin... done]
[recovering backend/CM/x86-unix/chunkify.sig.bin... done]
[recovering backend/CM/x86-unix/chunkify.fun.bin... done]
[recovering backend/CM/x86-unix/backend.sig.bin... done]
[recovering backend/CM/x86-unix/live.sig.bin... done]
[recovering backend/CM/x86-unix/live.fun.bin... done]
[recovering backend/CM/x86-unix/allocate-registers.sig.bin... done]
[recovering backend/CM/x86-unix/allocate-registers.fun.bin... done]
[recovering backend/CM/x86-unix/backend.fun.bin... done]
[recovering library/list/CM/x86-unix/append.sig.bin... done]
[recovering library/list/CM/x86-unix/append.fun.bin... done]
[recovering xml/CM/x86-unix/xml-type.sig.bin... done]
[recovering xml/CM/x86-unix/xml-tree.sig.bin... done]
[recovering xml/CM/x86-unix/xml-tree.fun.bin... done]
[recovering xml/CM/x86-unix/xml.sig.bin... done]
[recovering xml/CM/x86-unix/type-check.sig.bin... done]
[recovering xml/CM/x86-unix/type-check.fun.bin... done]
[recovering xml/CM/x86-unix/simplify-types.sig.bin... done]
[recovering xml/CM/x86-unix/simplify-types.fun.bin... done]
[recovering xml/CM/x86-unix/scc-funs.sig.bin... done]
[recovering xml/CM/x86-unix/scc-funs.fun.bin... done]
[recovering xml/CM/x86-unix/simplify.sig.bin... done]
[recovering xml/CM/x86-unix/simplify.fun.bin... done]
[recovering xml/CM/x86-unix/xml.fun.bin... done]
[recovering xml/CM/x86-unix/sxml.sig.bin... done]
[recovering xml/CM/x86-unix/polyvariance.sig.bin... done]
[recovering xml/CM/x86-unix/polyvariance.fun.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/splaytree-sig.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/splaytree.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/ord-key-sig.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/ord-map-sig.sml.bin... done]
[recovering library/smlnj-lib/CM/x86-unix/splay-map-fn.sml.bin... done]
[recovering library/list/CM/x86-unix/mono-list.fun.bin... done]
[recovering library/env/CM/x86-unix/finite-function.sig.bin... done]
[recovering library/env/CM/x86-unix/poly-cache.sig.bin... done]
[recovering library/env/CM/x86-unix/poly-cache.fun.bin... done]
[recovering xml/CM/x86-unix/sxml-exns.sig.bin... done]
[recovering xml/CM/x86-unix/monomorphise.sig.bin... done]
[recovering xml/CM/x86-unix/monomorphise.fun.bin... done]
[recovering xml/CM/x86-unix/implement-exceptions.sig.bin... done]
[recovering xml/CM/x86-unix/implement-exceptions.fun.bin... done]
[recovering xml/CM/x86-unix/call-count.sig.bin... done]
[recovering xml/CM/x86-unix/call-count.fun.bin... done]
[recovering closure-convert/CM/x86-unix/lambda-free.sig.bin... done]
[recovering closure-convert/CM/x86-unix/lambda-free.fun.bin... done]
[recovering closure-convert/CM/x86-unix/globalize.sig.bin... done]
[recovering closure-convert/CM/x86-unix/globalize.fun.bin... done]
[recovering closure-convert/CM/x86-unix/abstract-value.sig.bin... done]
[recovering closure-convert/CM/x86-unix/flow-analysis.sig.bin... done]
[recovering closure-convert/CM/x86-unix/abstract-value.fun.bin... done]
[recovering closure-convert/CM/x86-unix/flow-analysis.fun.bin... done]
[recovering closure-convert/CM/x86-unix/closure-convert.sig.bin... done]
[recovering closure-convert/CM/x86-unix/closure-convert.fun.bin... done]
[recovering core-ml/CM/x86-unix/core-ml.sig.bin... done]
[recovering core-ml/CM/x86-unix/dead-code.sig.bin... done]
[recovering core-ml/CM/x86-unix/dead-code.fun.bin... done]
[recovering core-ml/CM/x86-unix/core-ml.fun.bin... done]
[recovering elaborate/CM/x86-unix/type-str.sig.bin... done]
[recovering elaborate/CM/x86-unix/type-str.fun.bin... done]
[recovering library/env/CM/x86-unix/env.fun.bin... done]
[recovering elaborate/CM/x86-unix/interface.sig.bin... done]
[recovering elaborate/CM/x86-unix/interface.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-atoms.sig.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-atoms.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-env.sig.bin... done]
[recovering elaborate/CM/x86-unix/decs.sig.bin... done]
[recovering elaborate/CM/x86-unix/basis.sig.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-sigexp.sig.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-sigexp.fun.bin... done]
[recovering elaborate/CM/x86-unix/precedence-parse.sig.bin... done]
[recovering elaborate/CM/x86-unix/precedence-parse.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-pat.sig.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-pat.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-core.sig.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-core.fun.bin... done]
[recovering library/basic/CM/x86-unix/mono-option.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate-env.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate.sig.bin... done]
[recovering elaborate/CM/x86-unix/decs.fun.bin... done]
[recovering elaborate/CM/x86-unix/basis.fun.bin... done]
[recovering elaborate/CM/x86-unix/elaborate.fun.bin... done]
[recovering library/ml-yacc-lib/CM/x86-unix/base.sig.bin... done]
[recovering library/ml-yacc-lib/CM/x86-unix/lrtable.sml.bin... done]
[recovering library/ml-yacc-lib/CM/x86-unix/stream.sml.bin... done]
[recovering library/ml-yacc-lib/CM/x86-unix/parser2.sml.bin... done]
[recovering library/ml-yacc-lib/CM/x86-unix/join.sml.bin... done]
[recovering front-end/CM/x86-unix/ml.grm.sig.bin... done]
[recovering front-end/CM/x86-unix/ml.grm.sml.bin... done]
[recovering front-end/CM/x86-unix/ml.lex.sml.bin... done]
[recovering front-end/CM/x86-unix/front-end.sig.bin... done]
[recovering front-end/CM/x86-unix/front-end.fun.bin... done]
[recovering type-inference/CM/x86-unix/infer-type.sig.bin... done]
[recovering type-inference/CM/x86-unix/infer-scheme.sig.bin... done]
[recovering type-inference/CM/x86-unix/type-env.sig.bin... done]
[recovering library/misc/CM/x86-unix/sum.sig.bin... done]
[recovering library/misc/CM/x86-unix/sum.fun.bin... done]
[recovering type-inference/CM/x86-unix/infer-type.fun.bin... done]
[recovering type-inference/CM/x86-unix/infer-scheme.fun.bin... done]
[recovering type-inference/CM/x86-unix/type-env.fun.bin... done]
[recovering type-inference/CM/x86-unix/scope.sig.bin... done]
[recovering type-inference/CM/x86-unix/scope.fun.bin... done]
[recovering type-inference/CM/x86-unix/nested-pat.sig.bin... done]
[recovering type-inference/CM/x86-unix/nested-pat.fun.bin... done]
[recovering type-inference/CM/x86-unix/match-compile.sig.bin... done]
[recovering type-inference/CM/x86-unix/match-compile.fun.bin... done]
[recovering type-inference/CM/x86-unix/infer.sig.bin... done]
[recovering type-inference/CM/x86-unix/infer.fun.bin... done]
[recovering CM/x86-unix/prim-env.sig.bin... done]
[recovering CM/x86-unix/prim-env.fun.bin... done]
[recovering CM/x86-unix/compile.sig.bin... done]
[recovering CM/x86-unix/compile.sml.bin... done]
[recovering CM/x86-unix/main.sig.bin... done]
[recovering CM/x86-unix/main.sml.bin... done]
[introducing new bindings into toplevel environment...]
val it = true : bool
write 1,0: 11176 bytes [0x415b0000..0x415b2ba8) @ 0x1000
write 1,1: 59392 bytes [0x41610008..0x4161e808) @ 0x4000
write 1,2: 0 bytes [0x41690000..0x41690000) @ 0x13000
write 1,3: 2580 bytes [0x416e0000..0x416e0a14) @ 0x13000
write 2,0: 69792 bytes [0x40c30000..0x40c410a0) @ 0x14000
write 2,1: 277632 bytes [0x40c60008..0x40ca3c88) @ 0x26000
write 2,2: 10004 bytes [0x40ce0000..0x40ce2714) @ 0x6a000
write 2,3: 17152 bytes [0x40cf0000..0x40cf4300) @ 0x6d000
write 3,0: 93652 bytes [0x41170000..0x41186dd4) @ 0x72000
write 3,1: 187960 bytes [0x411a0008..0x411cde40) @ 0x89000
write 3,2: 21456 bytes [0x411f0000..0x411f53d0) @ 0xb7000
write 3,3: 26576 bytes [0x41200000..0x412067d0) @ 0xbd000
write 4,0: 22684 bytes [0x41220000..0x4122589c) @ 0xc4000
write 4,1: 60992 bytes [0x41230008..0x4123ee48) @ 0xca000
write 4,2: 13528 bytes [0x41250000..0x412534d8) @ 0xd9000
write 4,3: 7796 bytes [0x41260000..0x41261e74) @ 0xdd000
write 5,0: 685588 bytes [0x41db0000..0x41e57614) @ 0xdf000
write 5,1: 1320744 bytes [0x42280008..0x423c2730) @ 0x187000
write 5,2: 145124 bytes [0x42af0000..0x42b136e4) @ 0x2ca000
write 5,3: 488524 bytes [0x42cd0000..0x42d4744c) @ 0x2ee000
write 5,0: 219 big objects (3852 pages) @ 0x366000
+ cd /home/sweeks/smlc/self-compile/1999-02-28-00:07:45
+ mkdir G1
+ cd G1
+ ln -s /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/smlc.sml .
+ echo G1: compiling smlc using G0 version of smlc
G1: compiling smlc using G0 version of smlc
+ time /home/sweeks/smlc/bin/smlc -DINSTRUMENT -v -i 15 -C smlc.sml
compile ==>
smlc 1999-2-28 created this file on Sun Feb 28 00:09:26 1999.
Do not edit this file.
Flag settings:
aux: false
chunk: chunk per coninuation
heap size: 33554432
inline: NonRecursive Some(15)
inline rounds: 1
input file: /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.sml
instrument: true
match: left to right
messages: true
mode: compile
polyvariance limit: Some({rounds = 2, small = 30, product = 300})
print at fun entry: false
safe: true
type check: true
unification: false
parse ==>
==> time = 27.360
ast size is ~1 bytes
size = 110662
elaborate ==>
==> time = 92.410
core-ml size is ~1 bytes
size = 119469
infer ==>
unification ==>
==> time = 23.740
finish infer ==>
==> time = 49.630
==> time = 76.760
xml.unsimplified size is ~1 bytes
typeCheck ==>
==> time = 12.040
infer simplify ==>
datatypes: 285
-> datatypes: 24
one variants: 14
eliminable: 12
simplify made 95432 modifications
simplify made 126 modifications
==> time = 30.520
xml size is ~1 bytes
typeCheck ==>
==> time = 4.550
size = 76881
num types in program = 18450
num types in table = 36526
hash table size is ~1 bytes
mono ==>
==> time = 64.510
.unsimplified size is ~1 bytes
typeCheck ==>
==> time = 8.140
mono simplify ==>
datatypes: 1127
-> datatypes: 212
one variants: 15
eliminable: 15
simplify made 21180 modifications
simplify made 8604 modifications
==> time = 39.630
size is ~1 bytes
typeCheck ==>
==> time = 9.700
size = 150022
num types in program = 9553
num types in table = 57964
hash table size is ~1 bytes
implement exceptions ==>
==> time = 3.680
sxml.unsimplified size is ~1 bytes
typeCheck ==>
==> time = 7.280
implement exceptions simplify ==>
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 3385 modifications
simplify made 87 modifications
==> time = 28.600
sxml size is ~1 bytes
typeCheck ==>
==> time = 9.760
polyvariance ==>
display ==>
==> time = 0.320
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 13842 modifications
simplify made 4416 modifications
size = 181240
num types in program = 8111
num types in table = 58291
hash table size is ~1 bytes
display ==>
==> time = 0.430
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 500 modifications
simplify made 55 modifications
size = 182119
num types in program = 8091
num types in table = 58291
hash table size is ~1 bytes
==> time = 147.490
sxml.poly size is ~1 bytes
size = 182119
num types in program = 8091
num types in table = 58291
hash table size is ~1 bytes
closure convert ==>
flow analysis ==>
==> time = 18.050
flow size is ~1 bytes
free variables ==>
==> time = 18.410
globalize ==>
==> time = 1.500
program size is ~1 bytes
convert ==>
==> time = 184.810
==> time = 226.280
cps.unsimplified size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 15.510
inferHandlers ==>
==> time = 12.840
==> time = 54.980
closure convert simplify ==>
simplify ==>
num functions 8718
num local functions 131976
num primExps 314972
num types in program 21638
num types in table = 33541
hash table size is ~1 bytes
remove unused functions ==>
==> time = 0.700
num functions 8284
num local functions 127471
num primExps 304648
num types in program 20933
num types in table = 33541
hash table size is ~1 bytes
leaf inline ==>
inline ==>
==> time = 33.390
==> time = 33.390
num functions 6787
num local functions 95086
num primExps 295417
num types in program 17783
num types in table = 33541
hash table size is ~1 bytes
constant propagation ==>
inferHandlers ==>
==> time = 4.380
fixed point ==>
==> time = 111.240
==> time = 187.980
num functions 6787
num local functions 93179
num primExps 269322
num types in program 17740
num types in table = 33541
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 12.170
inferHandlers ==>
==> time = 4.210
==> time = 43.970
useless ==>
analyze ==>
==> time = 97.850
==> time = 159.370
num functions 6787
num local functions 85547
num primExps 256492
num types in program 15493
num types in table = 34027
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 10.440
inferHandlers ==>
==> time = 3.880
==> time = 33.520
simplify types ==>
fixed point ==>
==> time = 1.610
==> time = 37.240
num functions 6787
num local functions 70894
num primExps 237064
num types in program 10493
num types in table = 36482
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 9.780
inferHandlers ==>
==> time = 3.450
==> time = 34.690
poly equal ==>
==> time = 3.190
num functions 6790
num local functions 70918
num primExps 237099
num types in program 10496
num types in table = 36517
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.840
inferHandlers ==>
==> time = 3.200
==> time = 28.950
contify ==>
==> time = 19.240
num functions 3659
num local functions 70512
num primExps 233385
num types in program 9804
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.880
inferHandlers ==>
==> time = 3.060
==> time = 28.410
inline ==>
==> time = 21.980
num functions 2886
num local functions 70689
num primExps 254712
num types in program 9739
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.940
inferHandlers ==>
==> time = 3.180
==> time = 29.360
raise to jump ==>
inferHandlers ==>
==> time = 3.160
==> time = 5.660
num functions 2886
num local functions 70689
num primExps 254712
num types in program 9739
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 9.740
inferHandlers ==>
==> time = 8.180
==> time = 35.650
contify ==>
==> time = 17.670
num functions 2879
num local functions 70691
num primExps 254712
num types in program 9739
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 9.280
inferHandlers ==>
==> time = 3.120
==> time = 29.920
introduce loops ==>
==> time = 0.280
loop invariant ==>
==> time = 19.370
num functions 2879
num local functions 70731
num primExps 252198
num types in program 9348
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 9.320
inferHandlers ==>
==> time = 3.190
==> time = 29.890
flatten ==>
analyze ==>
==> time = 3.630
==> time = 40.290
num functions 2879
num local functions 70731
num primExps 278537
num types in program 7457
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 10.240
inferHandlers ==>
==> time = 3.130
==> time = 32.060
flatten ==>
analyze ==>
==> time = 3.890
==> time = 38.070
num functions 2879
num local functions 70731
num primExps 338071
num types in program 7170
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 10.660
inferHandlers ==>
==> time = 2.680
==> time = 33.540
redundant ==>
==> time = 41.930
num functions 2879
num local functions 70731
num primExps 338071
num types in program 7170
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 11.560
inferHandlers ==>
==> time = 3.190
==> time = 35.870
remove unused functions ==>
==> time = 0.450
remove unused globals ==>
==> time = 1.750
remove unused constructors ==>
==> time = 3.130
num functions 2860
num local functions 70196
num primExps 333515
num types in program 7096
num types in table = 36518
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 11.380
inferHandlers ==>
==> time = 3.270
==> time = 35.240
save world ==>
==> time = 2.660
==> time = 1125.820
==> time = 1125.820
cps size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 19.120
inferHandlers ==>
==> time = 3.350
==> time = 46.330
backend ==>
compute representations ==>
==> time = 0.360
inferHandlers ==>
==> time = 2.930
chunkify ==>
==> time = 3.460
allocate registers ==>
==> time = 160.270
reg size is ~1 bytes
==> time = 314.410
c size is ~1 bytes
emit C ==>
==> time = 74.030
numPeeks = 123146877
average position in property list = 0.306
==> time = 2414.820
91.06user 2324.46system 40:40.82elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (212major+2134244minor)pagefaults 0swaps
+ time /home/sweeks/smlc/bin/smlc -DINSTRUMENT -c smlc.c
83.42user 2743.94system 47:27.52elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (33467major+94492minor)pagefaults 0swaps
+ /home/sweeks/smlc/bin/smlc smlc.o
+ size smlc
text data bss dec hex filename
15183992 1474091 12480 16670563 fe5f63 smlc
+ echo processing basis library
processing basis library
+ ./smlc @SMLC gc-summary heap-size 400m -- /home/sweeks/smlc world
SMLC_numTrampolines = 50149486
SMLC_numReturns = 31708225
SMLC_numSelfReturns = 15075184
SMLC_numLimitChecks = 16426778
SMLC_XmlKnown = 115893198
SMLC_XmlUnknown = 32533681
SMLC_SxmlKnown = 111593245
SMLC_SxmlUnknown = 878683
SMLC_CpsKnown = 126614068
SMLC_CpsUnknown = 249783
SMLC_CpsCall = 37335225
SMLC_CpsLoop = 41820313
SMLC_CpsDispatch = 248697
SMLC_CpsCoerce = 0
stackSize: 131,072
heapSize: 419,430,400
time spent in GC: 750(ms) 1.8%
number of GCs: 3
Mbytes allocated: 101.86
Mbytes copied: 9.94
bytes live: 4,117,600
+ ls -l world.smlc
-rw-r--r-- 1 sweeks CSI 4134304 Feb 28 01:38 world.smlc
+ cd /home/sweeks/smlc/self-compile/1999-02-28-00:07:45
+ mkdir G2
+ cd G2
+ ln -s /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/smlc.sml .
+ echo G2: compiling smlc using G1 version of smlc
G2: compiling smlc using G1 version of smlc
+ time /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc @SMLC load-world /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/world.smlc gc-messages gc-summary -- /home/sweeks/smlc gcc -v -i 15 -C smlc.sml
Starting gc.
Size of globals is 698,724 bytes.
Finished gc.
time: 310(ms)
live: 1.0%
compile ==>
smlc 1999-2-28 created this file on Sun Feb 28 01:38:38 1999.
Do not edit this file.
Flag settings:
aux: false
chunk: chunk per coninuation
heap size: 33554432
inline: NonRecursive Some(15)
inline rounds: 1
input file: /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G2/smlc.sml
instrument: false
match: left to right
messages: true
mode: compile
polyvariance limit: Some({rounds = 2, small = 30, product = 300})
print at fun entry: false
safe: true
type check: true
unification: false
parse ==>
==> time = 48.300
Starting gc.
Size of globals is 1,273,648 bytes.
Finished gc.
time: 1,700(ms)
live: 4.9%
ast size is 16,898,788 bytes
size = 110662
elaborate ==>
==> time = 103.590
Starting gc.
Size of globals is 1,272,248 bytes.
Finished gc.
time: 6,770(ms)
live: 18.0%
core-ml size is 72,856,808 bytes
size = 119469
infer ==>
unification ==>
==> time = 13.460
finish infer ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 182959
Starting gc.
Size of globals is 4,432,220 bytes.
Finished gc.
time: 2,910(ms)
live: 8.4%
==> time = 33.720
==> time = 48.980
Starting gc.
Size of globals is 2,490,452 bytes.
Finished gc.
time: 2,350(ms)
live: 7.6%
xml.unsimplified size is 28,739,904 bytes
typeCheck ==>
==> time = 7.610
infer simplify ==>
datatypes: 285
-> datatypes: 24
one variants: 14
eliminable: 12
simplify made 95432 modifications
simplify made 126 modifications
==> time = 18.160
Starting gc.
Size of globals is 3,451,568 bytes.
Finished gc.
time: 1,250(ms)
live: 3.9%
xml size is 12,146,792 bytes
typeCheck ==>
==> time = 4.360
Starting gc.
Size of globals is 1,267,900 bytes.
Finished gc.
time: 1,180(ms)
live: 3.9%
size = 76881
num types in program = 18450
num types in table = 36526
hash table size is 3,432,556 bytes
mono ==>
==> time = 39.330
Starting gc.
Size of globals is 5,450,088 bytes.
Finished gc.
time: 2,510(ms)
live: 7.7%
.unsimplified size is 26,350,216 bytes
typeCheck ==>
==> time = 5.370
mono simplify ==>
datatypes: 1127
-> datatypes: 212
one variants: 15
eliminable: 15
simplify made 21180 modifications
simplify made 8604 modifications
==> time = 19.280
Starting gc.
Size of globals is 6,288,060 bytes.
Finished gc.
time: 1,930(ms)
live: 6.2%
size is 18,985,840 bytes
typeCheck ==>
==> time = 4.020
Starting gc.
Size of globals is 1,267,988 bytes.
Finished gc.
time: 1,820(ms)
live: 6.2%
size = 112859
num types in program = 9553
num types in table = 57964
hash table size is 5,797,464 bytes
implement exceptions ==>
==> time = 1.070
Starting gc.
Size of globals is 6,292,016 bytes.
Finished gc.
time: 1,940(ms)
live: 6.3%
sxml.unsimplified size is 19,481,276 bytes
typeCheck ==>
==> time = 4.160
implement exceptions simplify ==>
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 3385 modifications
simplify made 87 modifications
==> time = 13.910
Starting gc.
Size of globals is 6,321,440 bytes.
Finished gc.
time: 1,880(ms)
live: 6.1%
sxml size is 18,891,548 bytes
typeCheck ==>
==> time = 4.060
polyvariance ==>
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 14143 modifications
simplify made 4465 modifications
Starting gc.
Size of globals is 1,268,160 bytes.
Finished gc.
time: 2,030(ms)
live: 6.1%
size = 133042
num types in program = 8097
num types in table = 58291
hash table size is 5,824,932 bytes
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 510 modifications
simplify made 55 modifications
Starting gc.
Size of globals is 1,268,160 bytes.
Finished gc.
time: 2,020(ms)
live: 6.2%
size = 133414
num types in program = 8077
num types in table = 58291
hash table size is 5,824,932 bytes
==> time = 55.940
Starting gc.
Size of globals is 6,412,172 bytes.
Finished gc.
time: 1,870(ms)
live: 6.2%
sxml.poly size is 18,846,272 bytes
Starting gc.
Size of globals is 1,268,160 bytes.
Finished gc.
time: 1,860(ms)
live: 6.2%
size = 133414
num types in program = 8077
num types in table = 58291
hash table size is 5,824,932 bytes
closure convert ==>
flow analysis ==>
==> time = 13.730
Starting gc.
Size of globals is 29,294,872 bytes.
Finished gc.
time: 2,750(ms)
live: 7.5%
flow size is 112 bytes
free variables ==>
==> time = 2.330
globalize ==>
==> time = 0.780
Starting gc.
Size of globals is 1,356,464 bytes.
Finished gc.
time: 3,620(ms)
live: 9.9%
program size is 39,764,628 bytes
convert ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 1527986
Starting gc.
Size of globals is 50,941,332 bytes.
Finished gc.
time: 6,770(ms)
live: 18.8%
==> time = 90.190
==> time = 115.380
Starting gc.
Size of globals is 46,293,352 bytes.
Finished gc.
time: 8,260(ms)
live: 23.7%
cps.unsimplified size is 52,569,856 bytes
typeCheck ==>
checkScopes ==>
==> time = 7.890
inferHandlers ==>
==> time = 3.910
==> time = 27.540
closure convert simplify ==>
simplify ==>
Starting gc.
Size of globals is 51,370,484 bytes.
Finished gc.
time: 7,960(ms)
live: 23.7%
num functions 8860
num local functions 134449
num primExps 202911
num types in program 21871
num types in table = 33961
hash table size is 3,666,508 bytes
remove unused functions ==>
==> time = 0.610
Starting gc.
Size of globals is 51,370,484 bytes.
Finished gc.
time: 7,730(ms)
live: 23.4%
num functions 8426
num local functions 129951
num primExps 197967
num types in program 21163
num types in table = 33961
hash table size is 3,666,508 bytes
leaf inline ==>
inline ==>
==> time = 17.790
==> time = 17.790
Starting gc.
Size of globals is 103,954,292 bytes.
Finished gc.
time: 11,430(ms)
live: 31.5%
num functions 6923
num local functions 96863
num primExps 188218
num types in program 17998
num types in table = 33961
hash table size is 3,666,508 bytes
constant propagation ==>
inferHandlers ==>
==> time = 2.900
fixed point ==>
==> time = 18.620
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 297075
Starting gc.
Size of globals is 150,120,504 bytes.
Finished gc.
time: 15,570(ms)
live: 42.0%
==> time = 101.910
Starting gc.
Size of globals is 66,768,808 bytes.
Finished gc.
time: 8,740(ms)
live: 25.0%
num functions 6923
num local functions 94879
num primExps 161671
num types in program 17957
num types in table = 33961
hash table size is 3,666,508 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.060
inferHandlers ==>
==> time = 2.790
==> time = 21.480
useless ==>
analyze ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 263115
Starting gc.
Size of globals is 104,054,936 bytes.
Finished gc.
time: 13,120(ms)
live: 36.6%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 62439
Starting gc.
Size of globals is 110,171,992 bytes.
Finished gc.
time: 15,320(ms)
live: 43.8%
==> time = 81.910
==> time = 110.770
Starting gc.
Size of globals is 70,842,460 bytes.
Finished gc.
time: 8,820(ms)
live: 25.1%
num functions 6923
num local functions 87086
num primExps 149700
num types in program 15679
num types in table = 34455
hash table size is 3,740,236 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.370
inferHandlers ==>
==> time = 2.570
==> time = 19.060
simplify types ==>
fixed point ==>
==> time = 3.080
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 963263
Starting gc.
Size of globals is 78,669,164 bytes.
Finished gc.
time: 8,760(ms)
live: 25.1%
==> time = 33.830
Starting gc.
Size of globals is 71,543,588 bytes.
Finished gc.
time: 8,330(ms)
live: 24.5%
num functions 6923
num local functions 72203
num primExps 130856
num types in program 10556
num types in table = 36927
hash table size is 5,821,124 bytes
typeCheck ==>
checkScopes ==>
==> time = 4.530
inferHandlers ==>
==> time = 2.180
==> time = 16.220
poly equal ==>
==> time = 1.140
Starting gc.
Size of globals is 71,543,588 bytes.
Finished gc.
time: 8,330(ms)
live: 24.5%
num functions 6926
num local functions 72227
num primExps 130891
num types in program 10559
num types in table = 36962
hash table size is 5,824,088 bytes
typeCheck ==>
checkScopes ==>
==> time = 4.540
inferHandlers ==>
==> time = 2.150
==> time = 16.170
contify ==>
==> time = 10.010
Starting gc.
Size of globals is 80,536,012 bytes.
Finished gc.
time: 9,130(ms)
live: 26.0%
num functions 3711
num local functions 71822
num primExps 128519
num types in program 9856
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 4.420
inferHandlers ==>
==> time = 2.130
==> time = 15.840
inline ==>
==> time = 13.410
Starting gc.
Size of globals is 105,387,048 bytes.
Finished gc.
time: 11,080(ms)
live: 31.0%
num functions 2380
num local functions 74117
num primExps 149252
num types in program 9749
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 4.930
inferHandlers ==>
==> time = 2.200
==> time = 17.500
raise to jump ==>
inferHandlers ==>
==> time = 2.210
==> time = 3.170
Starting gc.
Size of globals is 84,483,120 bytes.
Finished gc.
time: 9,850(ms)
live: 28.1%
num functions 2380
num local functions 74117
num primExps 149252
num types in program 9749
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.040
inferHandlers ==>
==> time = 2.190
==> time = 17.470
contify ==>
==> time = 10.260
Starting gc.
Size of globals is 83,637,096 bytes.
Finished gc.
time: 9,560(ms)
live: 27.3%
num functions 2371
num local functions 74101
num primExps 149241
num types in program 9749
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 4.770
inferHandlers ==>
==> time = 2.190
==> time = 17.160
introduce loops ==>
==> time = 0.260
loop invariant ==>
==> time = 10.580
Starting gc.
Size of globals is 90,104,368 bytes.
Finished gc.
time: 10,110(ms)
live: 28.6%
num functions 2371
num local functions 74164
num primExps 146688
num types in program 9355
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 4.750
inferHandlers ==>
==> time = 2.190
==> time = 17.020
flatten ==>
analyze ==>
==> time = 2.750
==> time = 20.340
Starting gc.
Size of globals is 94,336,308 bytes.
Finished gc.
time: 10,930(ms)
live: 30.8%
num functions 2371
num local functions 74164
num primExps 167248
num types in program 7498
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.230
inferHandlers ==>
==> time = 2.200
==> time = 18.540
flatten ==>
analyze ==>
==> time = 2.930
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 90172
Starting gc.
Size of globals is 102,927,472 bytes.
Finished gc.
time: 11,670(ms)
live: 32.9%
==> time = 34.250
Starting gc.
Size of globals is 95,681,664 bytes.
Finished gc.
time: 11,260(ms)
live: 32.7%
num functions 2371
num local functions 74164
num primExps 223801
num types in program 7199
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.210
inferHandlers ==>
==> time = 2.240
==> time = 21.840
redundant ==>
==> time = 38.310
Starting gc.
Size of globals is 96,193,096 bytes.
Finished gc.
time: 11,490(ms)
live: 32.8%
num functions 2371
num local functions 74164
num primExps 223801
num types in program 7199
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.190
inferHandlers ==>
==> time = 2.240
==> time = 21.820
remove unused functions ==>
==> time = 0.390
remove unused globals ==>
==> time = 2.350
remove unused constructors ==>
==> time = 1.230
Starting gc.
Size of globals is 97,011,672 bytes.
Finished gc.
time: 11,540(ms)
live: 32.8%
num functions 2353
num local functions 73611
num primExps 219791
num types in program 7124
num types in table = 36963
hash table size is 5,824,172 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.150
inferHandlers ==>
==> time = 2.220
==> time = 21.610
save world ==>
==> time = 0.730
==> time = 840.350
==> time = 840.350
Starting gc.
Size of globals is 96,955,876 bytes.
Finished gc.
time: 11,460(ms)
live: 32.8%
cps size is 40,148,284 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.060
inferHandlers ==>
==> time = 2.220
==> time = 21.400
backend ==>
compute representations ==>
==> time = 0.460
inferHandlers ==>
==> time = 2.290
chunkify ==>
==> time = 2.430
allocate registers ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 1790796
Starting gc.
Size of globals is 114,414,860 bytes.
Finished gc.
time: 14,680(ms)
live: 40.3%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 1801566
Starting gc.
Size of globals is 120,240,104 bytes.
Finished gc.
time: 15,320(ms)
live: 44.2%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 1798560
Starting gc.
Size of globals is 127,086,612 bytes.
Finished gc.
time: 16,180(ms)
live: 47.3%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 1790796
Starting gc.
Size of globals is 130,065,996 bytes.
Finished gc.
time: 16,350(ms)
live: 48.6%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 1798560
Starting gc.
Size of globals is 130,440,444 bytes.
Finished gc.
time: 16,190(ms)
live: 48.1%
==> time = 219.810
Starting gc.
Size of globals is 128,559,028 bytes.
Finished gc.
time: 16,060(ms)
live: 47.4%
reg size is 168 bytes
==> time = 290.460
Starting gc.
Size of globals is 99,781,204 bytes.
Finished gc.
time: 12,800(ms)
live: 37.0%
c size is 55,424,340 bytes
emit C ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1/smlc.c 72554
Starting gc.
Size of globals is 101,101,524 bytes.
Finished gc.
time: 12,150(ms)
live: 36.8%
==> time = 306.210
numPeeks = 119764224
average position in property list = 0.306
==> time = 2042.570
SMLC_numTrampolines = 2283570697
SMLC_numReturns = 1155043380
SMLC_numSelfReturns = 148558308
SMLC_numLimitChecks = 785320846
SMLC_XmlKnown = 4256615463
SMLC_XmlUnknown = 3877550841
SMLC_SxmlKnown = 4831052213
SMLC_SxmlUnknown = 194196732
SMLC_CpsKnown = 5948453359
SMLC_CpsUnknown = 79541735
SMLC_CpsCall = 1284168285
SMLC_CpsLoop = 1034808781
SMLC_CpsDispatch = 75957963
SMLC_CpsCoerce = 1204826
stackSize: 16,777,216
heapSize: 419,430,400
time spent in GC: 407,650(ms) 20.0%
number of GCs: 50
Mbytes allocated: 8422.97
Mbytes copied: 4702.44
bytes live: 154,442,140
393.56user 1649.94system 34:29.34elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2293major+211510minor)pagefaults 0swaps
+ cd /home/sweeks/smlc/self-compile/1999-02-28-00:07:45
+ mkdir G1-np
+ cd G1-np
+ ln -s /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/smlc.sml .
+ echo G1-np: compiling smlc using G0 version of smlc
G1-np: compiling smlc using G0 version of smlc
+ time /home/sweeks/smlc/bin/smlc -DINSTRUMENT -v -np -i 15 -C smlc.sml
compile ==>
smlc 1999-2-28 created this file on Sun Feb 28 02:13:08 1999.
Do not edit this file.
Flag settings:
aux: false
chunk: chunk per coninuation
heap size: 33554432
inline: NonRecursive Some(15)
inline rounds: 1
input file: /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.sml
instrument: true
match: left to right
messages: true
mode: compile
polyvariance limit: None
print at fun entry: false
safe: true
type check: true
unification: false
parse ==>
==> time = 27.580
ast size is ~1 bytes
size = 110662
elaborate ==>
==> time = 92.530
core-ml size is ~1 bytes
size = 119469
infer ==>
unification ==>
==> time = 26.140
finish infer ==>
==> time = 46.630
==> time = 75.540
xml.unsimplified size is ~1 bytes
typeCheck ==>
==> time = 8.620
infer simplify ==>
datatypes: 285
-> datatypes: 24
one variants: 14
eliminable: 12
simplify made 95432 modifications
simplify made 126 modifications
==> time = 25.940
xml size is ~1 bytes
typeCheck ==>
==> time = 5.100
size = 76881
num types in program = 18450
num types in table = 36526
hash table size is ~1 bytes
mono ==>
==> time = 61.340
.unsimplified size is ~1 bytes
typeCheck ==>
==> time = 7.790
mono simplify ==>
datatypes: 1127
-> datatypes: 212
one variants: 15
eliminable: 15
simplify made 21180 modifications
simplify made 8604 modifications
==> time = 39.380
size is ~1 bytes
typeCheck ==>
==> time = 6.930
size = 150022
num types in program = 9553
num types in table = 57964
hash table size is ~1 bytes
implement exceptions ==>
==> time = 3.390
sxml.unsimplified size is ~1 bytes
typeCheck ==>
==> time = 7.480
implement exceptions simplify ==>
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 3385 modifications
simplify made 87 modifications
==> time = 27.840
sxml size is ~1 bytes
typeCheck ==>
==> time = 6.960
polyvariance ==>
==> time = 0.000
sxml.poly size is ~1 bytes
size = 149958
num types in program = 9461
num types in table = 58291
hash table size is ~1 bytes
closure convert ==>
flow analysis ==>
==> time = 11.990
flow size is ~1 bytes
free variables ==>
==> time = 14.910
globalize ==>
==> time = 1.340
program size is ~1 bytes
convert ==>
==> time = 137.320
==> time = 168.690
cps.unsimplified size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 10.990
inferHandlers ==>
==> time = 8.880
==> time = 39.390
closure convert simplify ==>
simplify ==>
num functions 8443
num local functions 88466
num primExps 229605
num types in program 21366
num types in table = 33164
hash table size is ~1 bytes
remove unused functions ==>
==> time = 0.520
num functions 7889
num local functions 83156
num primExps 217649
num types in program 20345
num types in table = 33164
hash table size is ~1 bytes
leaf inline ==>
inline ==>
==> time = 23.820
==> time = 23.820
num functions 5992
num local functions 53789
num primExps 206964
num types in program 16702
num types in table = 33164
hash table size is ~1 bytes
constant propagation ==>
inferHandlers ==>
==> time = 2.380
fixed point ==>
==> time = 61.590
==> time = 139.150
num functions 5992
num local functions 51743
num primExps 183698
num types in program 16630
num types in table = 33164
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 7.400
inferHandlers ==>
==> time = 2.130
==> time = 28.080
useless ==>
analyze ==>
==> time = 59.830
==> time = 103.470
num functions 5992
num local functions 47816
num primExps 177514
num types in program 13917
num types in table = 33704
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.590
inferHandlers ==>
==> time = 1.930
==> time = 24.820
simplify types ==>
fixed point ==>
==> time = 1.540
==> time = 24.630
num functions 5992
num local functions 37762
num primExps 163761
num types in program 9554
num types in table = 36363
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.040
inferHandlers ==>
==> time = 1.380
==> time = 17.560
poly equal ==>
==> time = 1.780
num functions 5995
num local functions 37786
num primExps 163796
num types in program 9557
num types in table = 36398
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.350
inferHandlers ==>
==> time = 1.320
==> time = 17.910
contify ==>
==> time = 11.790
num functions 3370
num local functions 37353
num primExps 160981
num types in program 8918
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.510
inferHandlers ==>
==> time = 1.360
==> time = 17.810
inline ==>
==> time = 15.470
num functions 2521
num local functions 37452
num primExps 183009
num types in program 8801
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.810
inferHandlers ==>
==> time = 1.510
==> time = 22.780
raise to jump ==>
inferHandlers ==>
==> time = 1.430
==> time = 2.930
num functions 2521
num local functions 37452
num primExps 183009
num types in program 8801
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.550
inferHandlers ==>
==> time = 1.510
==> time = 20.200
contify ==>
==> time = 11.130
num functions 2513
num local functions 37455
num primExps 183006
num types in program 8801
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.350
inferHandlers ==>
==> time = 1.410
==> time = 19.770
introduce loops ==>
==> time = 0.190
loop invariant ==>
==> time = 12.070
num functions 2513
num local functions 37504
num primExps 181795
num types in program 8588
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.330
inferHandlers ==>
==> time = 1.410
==> time = 19.780
flatten ==>
analyze ==>
==> time = 1.670
==> time = 21.940
num functions 2513
num local functions 37504
num primExps 162998
num types in program 6085
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.630
inferHandlers ==>
==> time = 1.410
==> time = 18.300
flatten ==>
analyze ==>
==> time = 1.680
==> time = 17.260
num functions 2513
num local functions 37504
num primExps 174422
num types in program 5737
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.520
inferHandlers ==>
==> time = 1.470
==> time = 18.570
redundant ==>
==> time = 10.670
num functions 2513
num local functions 37504
num primExps 174422
num types in program 5737
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 7.400
inferHandlers ==>
==> time = 1.270
==> time = 19.330
remove unused functions ==>
==> time = 0.280
remove unused globals ==>
==> time = 0.950
remove unused constructors ==>
==> time = 1.560
num functions 2502
num local functions 37144
num primExps 167697
num types in program 5663
num types in table = 36399
hash table size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.500
inferHandlers ==>
==> time = 4.640
==> time = 21.620
save world ==>
==> time = 1.300
==> time = 696.760
==> time = 696.760
cps size is ~1 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.740
inferHandlers ==>
==> time = 1.410
==> time = 20.930
backend ==>
compute representations ==>
==> time = 0.310
inferHandlers ==>
==> time = 1.810
chunkify ==>
==> time = 1.980
allocate registers ==>
==> time = 57.030
reg size is ~1 bytes
==> time = 123.390
c size is ~1 bytes
emit C ==>
==> time = 32.300
numPeeks = 61076864
average position in property list = 0.318
==> time = 1486.980
39.89user 1447.77system 24:56.61elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (213major+1291844minor)pagefaults 0swaps
+ time /home/sweeks/smlc/bin/smlc -DINSTRUMENT -c smlc.c
56.48user 1338.24system 23:28.92elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (17660major+60527minor)pagefaults 0swaps
+ /home/sweeks/smlc/bin/smlc smlc.o
+ size smlc
text data bss dec hex filename
7351800 1032179 11548 8395527 801b07 smlc
+ echo processing basis library
processing basis library
+ ./smlc @SMLC gc-summary heap-size 400m -- /home/sweeks/smlc world
SMLC_numTrampolines = 59198299
SMLC_numReturns = 35661271
SMLC_numSelfReturns = 15041519
SMLC_numLimitChecks = 29640093
SMLC_XmlKnown = 115893597
SMLC_XmlUnknown = 32533873
SMLC_SxmlKnown = 115878965
SMLC_SxmlUnknown = 10640772
SMLC_CpsKnown = 130975257
SMLC_CpsUnknown = 9938337
SMLC_CpsCall = 41542578
SMLC_CpsLoop = 41845953
SMLC_CpsDispatch = 9912792
SMLC_CpsCoerce = 102
stackSize: 131,072
heapSize: 419,430,400
time spent in GC: 720(ms) 1.5%
number of GCs: 3
Mbytes allocated: 148.53
Mbytes copied: 9.95
bytes live: 4,121,776
+ ls -l world.smlc
-rw-r--r-- 1 sweeks CSI 4135808 Feb 28 03:02 world.smlc
+ cd /home/sweeks/smlc/self-compile/1999-02-28-00:07:45
+ mkdir G2-np
+ cd G2-np
+ ln -s /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/smlc.sml .
+ echo G2-np: compiling smlc using G1 version of smlc
G2-np: compiling smlc using G1 version of smlc
+ time /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc @SMLC load-world /home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/world.smlc gc-messages gc-summary -- /home/sweeks/smlc gcc -v -i 15 -C smlc.sml
Starting gc.
Size of globals is 687,500 bytes.
Finished gc.
time: 330(ms)
live: 1.0%
compile ==>
smlc 1999-2-28 created this file on Sun Feb 28 03:02:35 1999.
Do not edit this file.
Flag settings:
aux: false
chunk: chunk per coninuation
heap size: 33554432
inline: NonRecursive Some(15)
inline rounds: 1
input file: /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G2-np/smlc.sml
instrument: false
match: left to right
messages: true
mode: compile
polyvariance limit: Some({rounds = 2, small = 30, product = 300})
print at fun entry: false
safe: true
type check: true
unification: false
parse ==>
==> time = 50.480
Starting gc.
Size of globals is 1,262,428 bytes.
Finished gc.
time: 1,690(ms)
live: 4.9%
ast size is 16,898,788 bytes
size = 110662
elaborate ==>
==> time = 125.930
Starting gc.
Size of globals is 1,261,000 bytes.
Finished gc.
time: 6,810(ms)
live: 18.0%
core-ml size is 72,857,628 bytes
size = 119469
infer ==>
unification ==>
==> time = 14.570
finish infer ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 265756
Starting gc.
Size of globals is 4,139,452 bytes.
Finished gc.
time: 2,850(ms)
live: 8.2%
==> time = 35.540
==> time = 52.240
Starting gc.
Size of globals is 2,479,204 bytes.
Finished gc.
time: 2,350(ms)
live: 7.5%
xml.unsimplified size is 28,552,108 bytes
typeCheck ==>
==> time = 8.230
infer simplify ==>
datatypes: 285
-> datatypes: 24
one variants: 14
eliminable: 12
simplify made 95432 modifications
simplify made 126 modifications
==> time = 19.390
Starting gc.
Size of globals is 3,440,320 bytes.
Finished gc.
time: 1,240(ms)
live: 3.8%
xml size is 12,123,852 bytes
typeCheck ==>
==> time = 4.760
Starting gc.
Size of globals is 1,256,652 bytes.
Finished gc.
time: 1,170(ms)
live: 3.8%
size = 76881
num types in program = 18450
num types in table = 36526
hash table size is 3,432,592 bytes
mono ==>
==> time = 43.420
Starting gc.
Size of globals is 5,438,820 bytes.
Finished gc.
time: 2,280(ms)
live: 6.8%
.unsimplified size is 22,320,716 bytes
typeCheck ==>
==> time = 5.730
mono simplify ==>
datatypes: 1127
-> datatypes: 212
one variants: 15
eliminable: 15
simplify made 21180 modifications
simplify made 8604 modifications
==> time = 21.230
Starting gc.
Size of globals is 6,276,792 bytes.
Finished gc.
time: 1,770(ms)
live: 5.5%
size is 16,040,132 bytes
typeCheck ==>
==> time = 4.280
Starting gc.
Size of globals is 1,256,740 bytes.
Finished gc.
time: 1,650(ms)
live: 5.5%
size = 112859
num types in program = 9553
num types in table = 57964
hash table size is 5,797,480 bytes
implement exceptions ==>
==> time = 1.380
Starting gc.
Size of globals is 6,280,772 bytes.
Finished gc.
time: 1,780(ms)
live: 5.6%
sxml.unsimplified size is 16,546,680 bytes
typeCheck ==>
==> time = 4.460
implement exceptions simplify ==>
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 3385 modifications
simplify made 87 modifications
==> time = 15.410
Starting gc.
Size of globals is 6,310,196 bytes.
Finished gc.
time: 1,730(ms)
live: 5.5%
sxml size is 16,022,784 bytes
typeCheck ==>
==> time = 4.330
polyvariance ==>
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 14143 modifications
simplify made 4465 modifications
Starting gc.
Size of globals is 1,256,912 bytes.
Finished gc.
time: 2,030(ms)
live: 6.1%
size = 133042
num types in program = 8097
num types in table = 58291
hash table size is 5,824,948 bytes
datatypes: 1128
-> datatypes: 213
one variants: 15
eliminable: 15
simplify made 510 modifications
simplify made 55 modifications
Starting gc.
Size of globals is 1,256,912 bytes.
Finished gc.
time: 2,020(ms)
live: 6.2%
size = 133414
num types in program = 8077
num types in table = 58291
hash table size is 5,824,948 bytes
==> time = 61.060
Starting gc.
Size of globals is 6,400,928 bytes.
Finished gc.
time: 1,870(ms)
live: 6.2%
sxml.poly size is 18,846,204 bytes
Starting gc.
Size of globals is 1,256,912 bytes.
Finished gc.
time: 1,860(ms)
live: 6.2%
size = 133414
num types in program = 8077
num types in table = 58291
hash table size is 5,824,948 bytes
closure convert ==>
flow analysis ==>
==> time = 14.430
Starting gc.
Size of globals is 2,175,732 bytes.
Finished gc.
time: 2,750(ms)
live: 7.5%
flow size is 136 bytes
free variables ==>
==> time = 2.750
globalize ==>
==> time = 0.920
Starting gc.
Size of globals is 1,345,296 bytes.
Finished gc.
time: 3,630(ms)
live: 9.9%
program size is 39,764,652 bytes
convert ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 681256
Starting gc.
Size of globals is 49,444,492 bytes.
Finished gc.
time: 6,400(ms)
live: 17.8%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 354086
Starting gc.
Size of globals is 59,599,344 bytes.
Finished gc.
time: 9,010(ms)
live: 25.8%
==> time = 104.190
==> time = 131.390
Starting gc.
Size of globals is 2,536,272 bytes.
Finished gc.
time: 4,250(ms)
live: 13.3%
cps.unsimplified size is 52,569,788 bytes
typeCheck ==>
checkScopes ==>
==> time = 10.720
inferHandlers ==>
==> time = 3.940
==> time = 34.200
closure convert simplify ==>
simplify ==>
Starting gc.
Size of globals is 1,252,524 bytes.
Finished gc.
time: 4,140(ms)
live: 13.3%
num functions 8860
num local functions 134449
num primExps 202911
num types in program 21871
num types in table = 33961
hash table size is 3,666,544 bytes
remove unused functions ==>
==> time = 0.840
Starting gc.
Size of globals is 1,252,524 bytes.
Finished gc.
time: 3,980(ms)
live: 12.9%
num functions 8426
num local functions 129951
num primExps 197967
num types in program 21163
num types in table = 33961
hash table size is 3,666,544 bytes
leaf inline ==>
inline ==>
==> time = 22.340
==> time = 22.340
Starting gc.
Size of globals is 1,252,524 bytes.
Finished gc.
time: 7,110(ms)
live: 20.9%
num functions 6923
num local functions 96863
num primExps 188218
num types in program 17998
num types in table = 33961
hash table size is 3,666,544 bytes
constant propagation ==>
inferHandlers ==>
==> time = 2.920
fixed point ==>
==> time = 21.350
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 354086
Starting gc.
Size of globals is 23,676,744 bytes.
Finished gc.
time: 11,510(ms)
live: 31.8%
==> time = 107.750
Starting gc.
Size of globals is 1,252,656 bytes.
Finished gc.
time: 3,490(ms)
live: 10.5%
num functions 6923
num local functions 94879
num primExps 161671
num types in program 17957
num types in table = 33961
hash table size is 3,666,544 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.130
inferHandlers ==>
==> time = 2.830
==> time = 26.440
useless ==>
analyze ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 159203
Starting gc.
Size of globals is 16,901,348 bytes.
Finished gc.
time: 7,750(ms)
live: 22.6%
==> time = 65.040
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 357848
Starting gc.
Size of globals is 16,610,500 bytes.
Finished gc.
time: 8,730(ms)
live: 25.7%
==> time = 106.870
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 3,150(ms)
live: 9.5%
num functions 6923
num local functions 87086
num primExps 149700
num types in program 15679
num types in table = 34455
hash table size is 3,740,272 bytes
typeCheck ==>
checkScopes ==>
==> time = 7.240
inferHandlers ==>
==> time = 2.600
==> time = 23.500
simplify types ==>
fixed point ==>
==> time = 3.140
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 211574
Starting gc.
Size of globals is 8,135,880 bytes.
Finished gc.
time: 3,180(ms)
live: 9.3%
==> time = 33.210
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 2,730(ms)
live: 8.7%
num functions 6923
num local functions 72203
num primExps 130856
num types in program 10556
num types in table = 36927
hash table size is 5,821,136 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.080
inferHandlers ==>
==> time = 2.150
==> time = 19.800
poly equal ==>
==> time = 1.610
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 2,750(ms)
live: 8.7%
num functions 6926
num local functions 72227
num primExps 130891
num types in program 10559
num types in table = 36962
hash table size is 5,824,100 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.080
inferHandlers ==>
==> time = 2.160
==> time = 19.820
contify ==>
==> time = 12.630
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 2,830(ms)
live: 8.5%
num functions 3711
num local functions 71822
num primExps 128519
num types in program 9856
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 5.880
inferHandlers ==>
==> time = 2.110
==> time = 19.210
inline ==>
==> time = 16.760
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 4,490(ms)
live: 13.5%
num functions 2380
num local functions 74117
num primExps 149252
num types in program 9749
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.520
inferHandlers ==>
==> time = 2.180
==> time = 21.190
raise to jump ==>
inferHandlers ==>
==> time = 2.170
==> time = 3.340
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 3,300(ms)
live: 9.9%
num functions 2380
num local functions 74117
num primExps 149252
num types in program 9749
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.690
inferHandlers ==>
==> time = 2.170
==> time = 21.190
contify ==>
==> time = 12.940
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 3,040(ms)
live: 9.1%
num functions 2371
num local functions 74101
num primExps 149241
num types in program 9749
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.320
inferHandlers ==>
==> time = 2.170
==> time = 20.790
introduce loops ==>
==> time = 0.420
loop invariant ==>
==> time = 13.000
Starting gc.
Size of globals is 1,252,788 bytes.
Finished gc.
time: 3,020(ms)
live: 9.0%
num functions 2371
num local functions 74164
num primExps 146688
num types in program 9355
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.300
inferHandlers ==>
==> time = 2.170
==> time = 20.630
flatten ==>
analyze ==>
==> time = 2.930
==> time = 24.480
Starting gc.
Size of globals is 1,252,920 bytes.
Finished gc.
time: 3,300(ms)
live: 9.8%
num functions 2371
num local functions 74164
num primExps 167248
num types in program 7498
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 6.870
inferHandlers ==>
==> time = 2.180
==> time = 22.480
flatten ==>
analyze ==>
==> time = 3.140
==> time = 26.810
Starting gc.
Size of globals is 1,252,920 bytes.
Finished gc.
time: 3,900(ms)
live: 11.4%
num functions 2371
num local functions 74164
num primExps 223801
num types in program 7199
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.110
inferHandlers ==>
==> time = 2.210
==> time = 26.370
redundant ==>
==> time = 40.770
Starting gc.
Size of globals is 1,252,920 bytes.
Finished gc.
time: 3,820(ms)
live: 11.4%
num functions 2371
num local functions 74164
num primExps 223801
num types in program 7199
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.090
inferHandlers ==>
==> time = 2.210
==> time = 26.310
remove unused functions ==>
==> time = 0.550
remove unused globals ==>
==> time = 2.750
remove unused constructors ==>
==> time = 1.710
Starting gc.
Size of globals is 1,252,920 bytes.
Finished gc.
time: 3,810(ms)
live: 11.3%
num functions 2353
num local functions 73611
num primExps 219791
num types in program 7124
num types in table = 36963
hash table size is 5,824,184 bytes
typeCheck ==>
checkScopes ==>
==> time = 8.040
inferHandlers ==>
==> time = 2.190
==> time = 26.000
save world ==>
==> time = 0.940
==> time = 822.530
==> time = 822.530
Starting gc.
Size of globals is 6,418,372 bytes.
Finished gc.
time: 3,570(ms)
live: 11.2%
cps size is 40,148,176 bytes
typeCheck ==>
checkScopes ==>
==> time = 7.970
inferHandlers ==>
==> time = 2.200
==> time = 25.930
backend ==>
compute representations ==>
==> time = 0.480
inferHandlers ==>
==> time = 2.230
chunkify ==>
==> time = 3.130
allocate registers ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 157943
Starting gc.
Size of globals is 1,505,620 bytes.
Finished gc.
time: 6,320(ms)
live: 18.9%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 131356
Starting gc.
Size of globals is 1,505,620 bytes.
Finished gc.
time: 7,860(ms)
live: 24.0%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 131356
Starting gc.
Size of globals is 1,505,620 bytes.
Finished gc.
time: 8,400(ms)
live: 26.5%
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 131356
Starting gc.
Size of globals is 1,505,620 bytes.
Finished gc.
time: 8,280(ms)
live: 26.8%
==> time = 179.210
Starting gc.
Size of globals is 1,505,480 bytes.
Finished gc.
time: 8,010(ms)
live: 25.6%
reg size is 264 bytes
==> time = 252.700
Starting gc.
Size of globals is 1,527,568 bytes.
Finished gc.
time: 4,410(ms)
live: 13.7%
c size is 54,797,400 bytes
emit C ==>
gc at /net/eponym/home/sweeks/smlc/self-compile/1999-02-28-00:07:45/G1-np/smlc.c 65754
Starting gc.
Size of globals is 1,529,792 bytes.
Finished gc.
time: 3,880(ms)
live: 13.6%
==> time = 322.130
numPeeks = 119764224
average position in property list = 0.306
==> time = 2053.560
SMLC_numTrampolines = 2489215676
SMLC_numReturns = 1230581573
SMLC_numSelfReturns = 134179479
SMLC_numLimitChecks = 1061564131
SMLC_XmlKnown = 4256616602
SMLC_XmlUnknown = 3877551313
SMLC_SxmlKnown = 4755904028
SMLC_SxmlUnknown = 873435551
SMLC_CpsKnown = 6119196930
SMLC_CpsUnknown = 512889069
SMLC_CpsCall = 1399308041
SMLC_CpsLoop = 1035918662
SMLC_CpsDispatch = 505263124
SMLC_CpsCoerce = 9535063
stackSize: 8,388,608
heapSize: 419,430,400
time spent in GC: 200,230(ms) 9.7%
number of GCs: 49
Mbytes allocated: 10192.18
Mbytes copied: 2411.09
bytes live: 56,873,012
409.31user 1645.29system 34:35.30elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (1613major+207905minor)pagefaults 0swaps
+ exit 0