*** 1.22 95/12/15 16:16:36 --- ./compiler/front/builder.dylan 96/03/11 02:57:05 *************** *** 1,6 **** Module: front Description: Interface to building the Front-End representation. ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/builder.dylan,v 1.22 95/12/15 16:16:36 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,6 ---- Module: front Description: Interface to building the Front-End representation. ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/builder.dylan,v 1.22 1995/12/15 16:16:36 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 248,250 **** --- 248,258 ---- signature :: , main-entry :: ) => res :: ; + + // Seals for file builder.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); *** 1.124 96/03/13 03:12:15 --- ./compiler/front/cheese.dylan 96/03/16 23:12:37 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/cheese.dylan,v 1.124 96/03/13 03:12:15 rgs Exp Locker: wlott $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/cheese.dylan,v 1.124 96/03/13 03:12:15 rgs Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 12,18 **** define method print-shit () => (); *print-shit* := #t; end; define method dont-print-shit () => (); *print-shit* := #f; end; ! define variable *optimize-ncalls* = 0; // Note: the simplify-only: keyword is used only during inline // expansions. It is not useful in any other situation. --- 12,18 ---- define method print-shit () => (); *print-shit* := #t; end; define method dont-print-shit () => (); *print-shit* := #f; end; ! define variable *optimize-ncalls* = 0; // Note: the simplify-only: keyword is used only during inline // expansions. It is not useful in any other situation. *** 1.5 96/01/27 00:21:22 --- ./compiler/front/clone.dylan 96/03/11 02:57:05 *************** *** 1,5 **** module: front ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/clone.dylan,v 1.5 96/01/27 00:21:22 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: front ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/clone.dylan,v 1.5 1996/01/27 00:21:22 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 409,411 **** --- 409,417 ---- end-body(state.clone-builder); end; + + // Seals for file clone.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.59 96/02/21 02:46:09 --- ./compiler/front/defclass.dylan 96/03/11 02:57:06 *************** *** 2518,2520 **** --- 2518,2540 ---- , $abstract-method-definition-slots, load-external: #t); + + // Seals for file defclass.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.29 96/02/06 15:47:32 --- ./compiler/front/defconstvar.dylan 96/03/11 02:57:06 *************** *** 428,430 **** --- 428,453 ---- list(var-defn-type-defn, type-defn:, var-defn-type-defn-setter)), load-external: #t); + + // Seals for file defconstvar.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.61 96/03/02 19:01:13 --- ./compiler/front/deffunc.dylan 96/03/11 23:47:45 *************** *** 1,5 **** module: define-functions ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/deffunc.dylan,v 1.61 96/03/02 19:01:13 rgs Exp Locker: wlott $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: define-functions ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/deffunc.dylan,v 1.61 96/03/02 19:01:13 rgs Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 11,33 **** define class () // // #f iff the open adjective wasn't supplied. ! slot generic-defn-sealed? :: , init-keyword: sealed:, ! init-function: ! curry(error, "sealed: unsupplied in make of "); // // All the s defined on this generic function. ! slot generic-defn-methods :: , ! init-value: #(), init-keyword: methods:; // // List of all the seals on this generic function. Each seal is a list of // s. ! slot generic-defn-seals :: , ! init-value: #(), init-keyword: seals:; // // The discriminator ct-value, if there is one. slot %generic-defn-discriminator :: type-union(, one-of(#f, #"not-computed-yet")), init-value: #"not-computed-yet", init-keyword: discriminator:; end; define method defn-type (defn :: ) => res :: ; --- 11,32 ---- define class () // // #f iff the open adjective wasn't supplied. ! slot generic-defn-sealed? :: ! = error("sealed: unsupplied in make of "), ! init-keyword: sealed:; // // All the s defined on this generic function. ! slot generic-defn-methods :: = #(), init-keyword: methods:; // // List of all the seals on this generic function. Each seal is a list of // s. ! slot generic-defn-seals :: = #(), init-keyword: seals:; // // The discriminator ct-value, if there is one. slot %generic-defn-discriminator :: type-union(, one-of(#f, #"not-computed-yet")), init-value: #"not-computed-yet", init-keyword: discriminator:; + slot generic-defn-find-seal-cache :: false-or() = #f; end; define method defn-type (defn :: ) => res :: ; *************** *** 1358,1363 **** --- 1357,1440 ---- end if; end method; + define class () + slot key :: = #f, init-keyword: #"key"; + slot value :: = #f, init-keyword: #"value"; + slot cell-next :: false-or() = #f; + slot cell-prev :: false-or() = #f; + end class ; + + define class () + slot size :: = 0; + slot chain :: false-or() = #f; + end class ; + + define method update-cache + (cache :: , elem :: ) => (); + // Remove elem from chain + let prev = elem.cell-prev; + let next = elem.cell-next; + prev.cell-next := next; + next.cell-prev := prev; + + // Set up elem to be first in chain + let next = cache.chain; + let prev = next.cell-prev; + elem.cell-next := next; + elem.cell-prev := prev; + // Adjust first and last in chain to acknowledge elem + next.cell-prev := elem; + prev.cell-next := elem; + cache.chain := elem; + end method update-cache; + + define inline method find-cache-entry + (cache :: , correct? :: ) + => (result :: false-or(), found? :: ); + let chain = cache.chain; + case + (chain == #f) => values(#f, #f); + (chain.key.correct?) => values(chain.value, #t); + otherwise => + block (return) + for (elem :: false-or() + = chain.cell-next then elem.cell-next, + until: elem == chain) + if (elem.key.correct?) + update-cache(cache, elem); + return(elem.value, #t); + end if; + finally + values(#f, #f); + end for; + end block; + end case; + end method find-cache-entry; + + define method add-cache-entry + (cache :: , elem-key :: , elem-value :: , + #key max :: false-or()) + if (cache.size == 0) + let new = make(, key: key, elem: elem); + new.cell-next := new; + new.cell-prev := new; + cache.chain := new; + elseif (max & cache.size >= max) + let new = cache.chain.cell-prev; + cache.chain := new; + new.chain.key := elem-key; + new.chain.value := elem-value; + else + let new = make(, key: key, elem: elem); + let next = cache.chain; + let prev = next.cell-prev; + new.cell-next := next; + new.cell-prev := prev; + prev.cell-next := new; + next.cell-prev := new; + cache.chain := new; + end if; + end method add-cache-entry; define method find-seal (gf :: , call-types :: ) => res :: false-or(); *************** *** 1752,1754 **** --- 1829,1869 ---- add-make-dumper(#"setter-method-definition", *compiler-dispatcher*, , $accessor-method-definition-slots, load-external: #t); + + // Seals for file deffunc.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.10 96/01/14 02:06:00 --- ./compiler/front/deflibmod.dylan 96/03/11 02:57:07 *************** *** 269,271 **** --- 269,280 ---- end; end; + + // Seals for file deflibmod.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.9 96/01/27 00:21:22 --- ./compiler/front/dump.dylan 96/03/11 02:57:07 *************** *** 1,5 **** module: dump ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/dump.dylan,v 1.9 96/01/27 00:21:22 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: dump ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/dump.dylan,v 1.9 1996/01/27 00:21:22 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 464,466 **** --- 464,475 ---- dump(thing, stream); write('\n', stream); end; + + // Seals for file dump.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.43 95/12/15 16:16:36 --- ./compiler/front/fer-builder.dylan 96/03/11 02:57:07 *************** *** 612,614 **** --- 612,622 ---- leaf; end; + + // Seals for file fer-builder.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of , + seal generic make(singleton()); *** 1.51 96/02/09 20:39:44 --- ./compiler/front/fer-convert.dylan 96/03/11 02:57:07 *************** *** 1147,1149 **** --- 1147,1152 ---- as(, args)); end method; + + // Seals for file fer-convert.dylan + *** 1.36 96/01/27 00:21:22 --- ./compiler/front/fer-dump.dylan 96/03/16 22:50:00 *************** *** 1,12 **** module: front ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/fer-dump.dylan,v 1.36 96/01/27 00:21:22 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. // Id stuff. ! define variable *id-table* = make(); define constant $id-vector = make(); define method reset-ids () => (); --- 1,12 ---- module: front ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/fer-dump.dylan,v 1.36 1996/01/27 00:21:22 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. // Id stuff. ! define variable *id-table* :: = make(
); define constant $id-vector = make(); define method reset-ids () => (); *************** *** 465,467 **** --- 465,470 ---- (exit-function :: , stream :: ) => (); format(stream, "EXIT-FUN[%d]", exit-function.id); end; + + // Seals for file fer-dump.dylan + *** 1.9 96/01/31 23:55:21 --- ./compiler/front/fer-od.dylan 96/03/11 02:57:08 *************** *** 1,5 **** Module: fer-od ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/fer-od.dylan,v 1.9 96/01/31 23:55:21 ram Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- Module: fer-od ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/fer-od.dylan,v 1.9 1996/01/31 23:55:21 ram Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 615,617 **** --- 615,620 ---- res; end method ); + + // Seals for file fer-od.dylan + *** 1.52 96/03/02 19:09:17 --- ./compiler/front/front.dylan 96/03/11 02:57:08 *************** *** 1,5 **** Module: front ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/front.dylan,v 1.52 96/03/02 19:09:17 rgs Exp Locker: wlott $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- Module: front ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/front.dylan,v 1.52 96/03/02 19:09:17 rgs Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 552,554 **** --- 552,665 ---- slot nlx-throws :: false-or(), init-value: #f, init-keyword: throws:; end; + + // Seals for file front.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.6 96/02/09 01:37:43 --- ./compiler/front/misc-dump.dylan 96/03/11 02:57:08 *************** *** 80,82 **** --- 80,85 ---- find-variable(load-basic-name(state), create: #t); end method ); + + // Seals for file misc-dump.dylan + *** 1.29 96/02/09 00:00:34 --- ./compiler/front/primitives.dylan 96/03/11 02:57:08 *************** *** 457,459 **** --- 457,465 ---- define-primitive (#"object-address", #(#""), #"", pure: #t); + + // Seals for file primitives.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.19 96/02/09 00:00:50 --- ./compiler/front/primopt.dylan 96/03/11 02:57:08 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/primopt.dylan,v 1.19 96/02/09 00:00:50 wlott Exp Locker: wlott $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/primopt.dylan,v 1.19 1996/02/09 00:00:50 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 557,559 **** --- 557,562 ---- let type = new-dep.dependent-next.source-exp.dylan-type-for-c-type; assert-type(component, primitive.dependents.dependent, new-dep, type); end); + + // Seals for file primopt.dylan + *** 1.8 95/12/04 16:23:36 --- ./compiler/front/tlexpr.dylan 96/03/11 02:57:08 *************** *** 105,107 **** --- 105,116 ---- => (); // Do nothing. end; + + // Seals for file tlexpr.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.10 96/02/21 15:52:45 --- ./compiler/front/tlf.dylan 96/03/11 02:57:08 *************** *** 111,113 **** --- 111,122 ---- note-variable-definition(defn); defn; end); + + // Seals for file tlf.dylan + + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.25 96/03/02 19:01:13 --- ./compiler/front/trans.dylan 96/03/11 19:56:51 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/trans.dylan,v 1.25 96/03/02 19:01:13 rgs Exp Locker: wlott $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/trans.dylan,v 1.25 96/03/02 19:01:13 rgs Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 458,463 **** --- 458,464 ---- define method is-it-functional? (class :: ) => res :: one-of(#t, #f, #"maybe"); + if (~class.sealed?) if (class.functional?) #t; elseif (class.not-functional?) *************** *** 465,470 **** --- 466,481 ---- else #"maybe"; end; + else + let subs = find-direct-classes(class); + if (every?(functional?, subs)) + #t; + elseif (every?(not-functional?, subs)) + #f; + else + #"maybe"; + end if; + end if; end; define method is-it-functional? (type :: ) *************** *** 1391,1393 **** --- 1402,1410 ---- iteration-vars.iteration-state-var))); end; + + // Seals for file trans.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.11 96/03/02 19:01:13 --- ./compiler/front/front-exports.dylan 96/03/11 02:57:08 *************** *** 1,5 **** module: dylan-user ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/front-exports.dylan,v 1.11 96/03/02 19:01:13 rgs Exp Locker: wlott $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: dylan-user ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/front-exports.dylan,v 1.11 96/03/02 19:01:13 rgs Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 426,429 **** --- 426,432 ---- export optimize-component, *optimize-ncalls*, build-xep, build-xep-component; end; + + + // Seals for file front-exports.dylan *** 1.6 96/02/22 17:47:23 --- ./compiler/front/callopt.dylan 96/03/11 02:57:05 *************** *** 1091,1093 **** --- 1091,1096 ---- end; end; end; + + // Seals for file callopt.dylan + *** 1.3 96/03/02 19:01:13 --- ./compiler/front/xep.dylan 96/03/11 02:57:09 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/xep.dylan,v 1.3 96/03/02 19:01:13 rgs Exp Locker: wlott $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/xep.dylan,v 1.3 96/03/02 19:01:13 rgs Exp $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. *************** *** 467,469 **** --- 467,475 ---- xep; end; + + // Seals for file xep.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.2 96/02/23 15:09:53 --- ./compiler/front/fer-edit.dylan 96/03/11 02:57:08 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/fer-edit.dylan,v 1.2 96/02/23 15:09:53 wlott Exp Locker: wlott $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/fer-edit.dylan,v 1.2 96/02/23 15:09:53 wlott Exp $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. *************** *** 985,987 **** --- 985,990 ---- end unless; make(); end method extract-stuff-after; + + // Seals for file fer-edit.dylan + *** 1.1 96/02/02 23:19:47 --- ./compiler/front/funcopt.dylan 96/03/11 02:57:08 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/funcopt.dylan,v 1.1 96/02/02 23:19:47 wlott Exp Locker: wlott $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/funcopt.dylan,v 1.1 1996/02/02 23:19:47 wlott Exp $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. *************** *** 304,306 **** --- 304,309 ---- region :: ) => (); end; + + // Seals for file funcopt.dylan + *** 1.1 96/02/02 23:19:47 --- ./compiler/front/tailcall.dylan 96/03/11 02:57:08 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/tailcall.dylan,v 1.1 96/02/02 23:19:47 wlott Exp Locker: wlott $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/tailcall.dylan,v 1.1 1996/02/02 23:19:47 wlott Exp $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. *************** *** 250,252 **** --- 250,255 ---- reoptimize(component, op); reoptimize(component, assign); end; + + // Seals for file tailcall.dylan + *** 1.1 96/02/23 15:44:07 --- ./compiler/front/constraint.dylan 96/03/11 02:57:05 *************** *** 1,5 **** module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/constraint.dylan,v 1.1 96/02/23 15:44:07 wlott Exp Locker: wlott $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: cheese ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/front/RCS/constraint.dylan,v 1.1 96/02/23 15:44:07 wlott Exp $ copyright: Copyright (c) 1996 Carnegie Mellon University All rights reserved. *************** *** 362,364 **** --- 362,373 ---- temp; end method insert-type-constraint; + + // Seals for file constraint.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.43 96/02/23 17:49:46 --- ./compiler/base/ctype.dylan 96/03/13 03:59:19 *************** *** 43,59 **** /// /// ### vector could be limited to type-union(, one-of(#t, #f)); /// define constant = ; /// log2 of the the number of entries in the table. define constant memo2-bits = 9; // mask which gives a vector index from a large hash value. Low zeros align to // start of an entry. ! define constant memo2-mask = ash(1, memo2-bits); define constant make-memo2-table = method () ! make(, size: ash(4, memo2-bits), fill: #f); end method; // some hit rate info, for tuning. --- 43,108 ---- /// /// ### vector could be limited to type-union(, one-of(#t, #f)); /// + define class () + slot memo-type1 :: false-or() = #f; + slot memo-type2 :: false-or() = #f; + slot memo-value :: type-union(, ) = #f; + slot memo-precise :: = #f; + end class ; + seal generic make(singleton()); + seal generic initialize(); + + define constant $null-memo-entry :: = make(); + + #if (mindy) + define constant = ; + #else + + define sealed class () + sealed slot %element :: , + init-value: type-union(), init-keyword: fill:, + sizer: size, size-init-value: 0, size-init-keyword: size:; + end class ; + + seal generic make (singleton()); + seal generic initialize (); + + define sealed inline method element + (vec :: , index :: , #key default = $not-supplied) + => (element :: ); + if (index >= 0 & index < vec.size) + %element(vec, index); + elseif (default == $not-supplied) + error("Undefined element: %s[%s]", vec, index); + else + default; + end; + end; + + define sealed inline method element-setter + (new-value :: , vec :: , index :: ) + => new-value :: ; + if (index >= 0 & index < vec.size) + %element(vec, index) := new-value; + else + error("Undefined element: %s[%s]", vec, index); + end; + end; + + #end + /// log2 of the the number of entries in the table. define constant memo2-bits = 9; // mask which gives a vector index from a large hash value. Low zeros align to // start of an entry. ! define constant memo2-size = ash(1, memo2-bits); ! define constant memo2-mask = memo2-size - 1; define constant make-memo2-table = method () ! make(, size: memo2-size, fill: $null-memo-entry); end method; // some hit rate info, for tuning. *************** *** 64,91 **** // are returned. If not, we return #"miss" and #f; define constant memo2-lookup = method (type1 :: , type2 :: , table :: ) ! => (value :: type-union(, one-of(#f, #t, #"miss")), precise :: ); *memo2-probes* := *memo2-probes* + 1; ! let base = modulo(type1.type-hash - type2.type-hash, memo2-mask) * 4; ! if (table[base] == type1 & table[base + 1] == type2) *memo2-hits* := *memo2-hits* + 1; ! values(table[base + 2], table[base + 3]); else values(#"miss", #f); end; end method; define constant memo2-enter = method ! (type1 :: , type2 :: , result :: type-union(, ), precise :: , table :: ) ! ! let base = modulo(type1.type-hash - type2.type-hash, memo2-mask) * 4; ! table[base] := type1; ! table[base + 1] := type2; ! table[base + 2] := result; ! table[base + 3] := precise; end method; --- 113,154 ---- // are returned. If not, we return #"miss" and #f; define constant memo2-lookup = method (type1 :: , type2 :: , table :: ) ! => (value :: type-union(, , singleton(#"miss")), precise :: ); *memo2-probes* := *memo2-probes* + 1; ! #if (mindy) ! let base = modulo(type1.type-hash - type2.type-hash, memo2-size); ! #else ! let base = logand(type1.type-hash - type2.type-hash, memo2-mask); ! #end ! let entry :: = table[base]; ! if (entry.memo-type1 == type1 & entry.memo-type2 == type2) *memo2-hits* := *memo2-hits* + 1; ! values(entry.memo-value, entry.memo-precise); else values(#"miss", #f); end; end method; define constant memo2-enter = method ! (type1 :: , type2 :: , ! result :: type-union(, ), precise :: , table :: ) ! #if (mindy) ! let base = modulo(type1.type-hash - type2.type-hash, memo2-size); ! #else ! let base = logand(type1.type-hash - type2.type-hash, memo2-mask); ! #end ! let entry :: = table[base]; ! if (entry == $null-memo-entry) ! entry := make(); ! table[base] := entry; ! end if; ! entry.memo-type1 := type1; ! entry.memo-type2 := type2; ! entry.memo-value := result; ! entry.memo-precise := precise; end method; *************** *** 1687,1689 **** --- 1750,1782 ---- make-values-ctype(map(specifier-type, args), #f); end; end; + + // Seals for file ctype.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of
+ seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of
+ seal generic make(singleton()); + seal generic initialize(); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.24 96/02/20 16:00:01 --- ./compiler/base/utils.dylan 96/03/15 23:17:33 *************** *** 1,5 **** module: utils ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/utils.dylan,v 1.24 96/02/20 16:00:01 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: utils ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/utils.dylan,v 1.24 1996/02/20 16:00:01 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 291,297 **** define method stringify (#rest things) => res :: ; let res = for (thing in things, ! len = 0 then len + string-length(thing)) finally make(, size: len); end for; --- 291,297 ---- define method stringify (#rest things) => res :: ; let res = for (thing in things, ! len :: = 0 then len + string-length(thing)) finally make(, size: len); end for; *************** *** 434,436 **** --- 434,444 ---- close(stream); end method spew-dependency-log; + + // Seals for file utils.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); *** 1.28 96/02/23 02:34:33 --- ./compiler/base/ctv.dylan 96/03/11 02:53:27 *************** *** 153,164 **** define class () end; define class () end; ! define constant $literal-fixed-integer-memo = make(
); ! define constant $literal-extended-integer-memo = make(
); ! define constant $literal-ratio-memo = make(
); ! define constant $literal-single-float-memo = make(
); ! define constant $literal-double-float-memo = make(
); ! define constant $literal-extended-float-memo = make(
); define method make (class == , #next next-method, #key value) --- 153,170 ---- define class () end; define class () end; ! define constant $literal-fixed-integer-memo :: ! = make(
); ! define constant $literal-extended-integer-memo :: ! = make(
); ! define constant $literal-ratio-memo :: ! = make(
); ! define constant $literal-single-float-memo :: ! = make(
); ! define constant $literal-double-float-memo :: ! = make(
); ! define constant $literal-extended-float-memo :: ! = make(
); define method make (class == , #next next-method, #key value) *************** *** 308,314 **** define class () end class; ! define constant $literal-symbol-memo = make(
); define method make (class == , #next next-method, #key value) => (res :: ); --- 314,321 ---- define class () end class; ! define constant $literal-symbol-memo :: ! = make(
); define method make (class == , #next next-method, #key value) => (res :: ); *************** *** 350,356 **** slot literal-value :: , required-init-keyword: value:; end class; ! define constant $literal-character-memo = make(
); define method make (class == , #next next-method, #key value) --- 357,364 ---- slot literal-value :: , required-init-keyword: value:; end class; ! define constant $literal-character-memo :: ! = make(
); define method make (class == , #next next-method, #key value) *************** *** 432,439 **** define class (
) end; ! define method table-protocol (table :: ) => (tester :: , hasher :: ); values(method (key1 :: , key2 :: ) => res :: ; --- 440,449 ---- define class (
) end; + seal generic make(singleton()); + seal generic initialize(); ! define sealed inline method table-protocol (table :: ) => (tester :: , hasher :: ); values(method (key1 :: , key2 :: ) => res :: ; *************** *** 448,454 **** end); end; ! define constant $literal-pair-memo = make(); define method make (class == , #next next-method, #key sharable: sharable?, head, tail) --- 458,465 ---- end); end; ! define constant $literal-pair-memo :: ! = make(); define method make (class == , #next next-method, #key sharable: sharable?, head, tail) *************** *** 533,540 **** // if each element is identical even if the vectors themselves are not. // define class (
) end class; ! define method table-protocol (table :: ) => (test :: , hash :: ); values(shallow-equal, shallow-hash); end method table-protocol; --- 544,553 ---- // if each element is identical even if the vectors themselves are not. // define class (
) end class; + seal generic make(singleton()); + seal generic initialize(); ! define sealed inline method table-protocol (table :: ) => (test :: , hash :: ); values(shallow-equal, shallow-hash); end method table-protocol; *************** *** 565,571 **** values(current-id, current-state); end method shallow-hash; ! define constant $literal-vector-memo = make(); define method make (class == , #next next-method, #key sharable: sharable?, contents) --- 578,585 ---- values(current-id, current-state); end method shallow-hash; ! define constant $literal-vector-memo :: ! = make(); define method make (class == , #next next-method, #key sharable: sharable?, contents) *************** *** 600,606 **** slot literal-value :: , required-init-keyword: value:; end; ! define constant $literal-string-memo = make(); define method make (class == , #next next-method, #key value) --- 614,620 ---- slot literal-value :: , required-init-keyword: value:; end; ! define constant $literal-string-memo :: = make(); define method make (class == , #next next-method, #key value) *************** *** 766,768 **** --- 780,857 ---- end if; end method; + + // Seals for file ctv.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of
+ seal generic make(singleton()); + seal generic initialize(); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of
+ seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.10 96/02/08 19:18:54 --- ./compiler/base/source.dylan 96/03/13 02:31:18 *************** *** 1,5 **** module: source ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/source.dylan,v 1.10 96/02/08 19:18:54 ram Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: source ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/source.dylan,v 1.10 1996/02/08 19:18:54 ram Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 287,289 **** --- 287,307 ---- end method ); + + // Seals for file source.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + // seal generic make(singleton()); + // seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); *** 1.22 96/01/12 00:58:08 --- ./compiler/base/c-rep.dylan 96/03/11 02:53:27 *************** *** 1,5 **** module: c-representation ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/c-rep.dylan,v 1.22 96/01/12 00:58:08 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: c-representation ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/c-rep.dylan,v 1.22 1996/01/12 00:58:08 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 592,594 **** --- 592,608 ---- data-word-member:, #f)), load-external: #t); + + // Seals for file c-rep.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.33 96/01/12 00:58:09 --- ./compiler/base/cclass.dylan 96/03/11 03:27:03 *************** *** 1,5 **** module: classes ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/cclass.dylan,v 1.33 96/01/12 00:58:09 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: classes ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/cclass.dylan,v 1.33 1996/01/12 00:58:09 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 1076,1078 **** --- 1076,1113 ---- define method print-message (proxy :: , stream :: ) => (); format(stream, "proxy for %s", proxy.proxy-for); end; + + // Seals for file cclass.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of , + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + seal generic initialize(); *** 1.20 96/01/15 12:51:16 --- ./compiler/base/control-flow.dylan 96/03/11 02:53:27 *************** *** 1,5 **** Module: flow ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/control-flow.dylan,v 1.20 96/01/15 12:51:16 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- Module: flow ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/control-flow.dylan,v 1.20 1996/01/15 12:51:16 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 196,198 **** --- 196,235 ---- component.reoptimize-queue := queueable; end; + + // Seals for file control-flow.dylan + + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.14 96/01/12 00:58:11 --- ./compiler/base/cteval.dylan 96/03/11 02:53:27 *************** *** 425,427 **** --- 425,430 ---- define-ct-evaluator(#"lognot", #(#""), curry(ct-eval-rational-function, lognot)); + + // Seals for file cteval.dylan + *** 1.12 96/03/02 19:01:13 --- ./compiler/base/ctfunc.dylan 96/03/11 02:53:27 *************** *** 184,186 **** --- 184,207 ---- signal("Yes, a was actually dumped."); end method, load-external: #t); + + // Seals for file ctfunc.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + seal generic initialize(); *** 1.6 96/01/12 00:58:16 --- ./compiler/base/header.dylan 96/03/11 02:53:28 *************** *** 1,5 **** module: header ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/header.dylan,v 1.6 96/01/12 00:58:16 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: header ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/header.dylan,v 1.6 1996/01/12 00:58:16 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 312,314 **** --- 312,323 ---- end; repeat(0, 1); end method; + + // Seals for file header.dylan + + //
-- subclass of + seal generic make(singleton(
)); + seal generic initialize(
); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.12 96/02/08 02:24:47 --- ./compiler/base/tokens.dylan 96/03/11 02:53:30 *************** *** 465,467 **** --- 465,658 ---- end; end; + + // Seals for file tokens.dylan + + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of , + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.24 96/01/15 12:51:16 --- ./compiler/base/data-flow.dylan 96/03/11 02:53:28 *************** *** 1,5 **** Module: flow ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/data-flow.dylan,v 1.24 96/01/15 12:51:16 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- Module: flow ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/data-flow.dylan,v 1.24 1996/01/15 12:51:16 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 285,287 **** --- 285,328 ---- // define abstract class () end; + + // Seals for file data-flow.dylan + + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of , + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.15 96/02/21 16:09:38 --- ./compiler/base/defns.dylan 96/03/11 02:53:28 *************** *** 168,170 **** --- 168,183 ---- => (); table[name] := merge-category(table, name, ); end; + + // Seals for file defns.dylan + + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.9 96/02/18 05:21:24 --- ./compiler/base/dylan-dump.dylan 96/03/14 03:03:57 *************** *** 1,5 **** module: dylan-dump ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/dylan-dump.dylan,v 1.9 96/02/18 05:21:24 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: dylan-dump ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/dylan-dump.dylan,v 1.9 1996/02/18 05:21:24 wlott Exp $ copyright: Copyright (c) 1994 Carnegie Mellon University All rights reserved. *************** *** 331,337 **** method (state :: ) => res :: ; let contents = load-subobjects-vector(state); let res = #(); ! for (i from contents.size - 1 to 0 by -1) res := pair(contents[i], res); head-maybe-backpatch(res); finally res; --- 331,337 ---- method (state :: ) => res :: ; let contents = load-subobjects-vector(state); let res = #(); ! for (i :: from contents.size - 1 to 0 by -1) res := pair(contents[i], res); head-maybe-backpatch(res); finally res; *************** *** 356,362 **** request-backpatch(x, method (actual) last-pair.tail := actual end); end; ! for (i from last-idx - 2 to 0 by -1, res = last-pair then pair(contents[i], res)) head-maybe-backpatch(res); finally res; --- 356,362 ---- request-backpatch(x, method (actual) last-pair.tail := actual end); end; ! for (i :: from last-idx - 2 to 0 by -1, res = last-pair then pair(contents[i], res)) head-maybe-backpatch(res); finally res; *************** *** 401,403 **** --- 401,406 ---- res; end method ); + + // Seals for file dylan-dump.dylan + *** 1.13 96/02/19 20:29:51 --- ./compiler/base/expand.dylan 96/03/11 02:53:28 *************** *** 466,468 **** --- 466,471 ---- var; end; end; + + // Seals for file expand.dylan + *** 1.4 95/12/15 16:16:36 --- ./compiler/base/fragments.dylan 96/03/11 02:53:28 *************** *** 131,133 **** --- 131,147 ---- end; + + // Seals for file fragments.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.4 96/01/12 00:58:16 --- ./compiler/base/lexenv.dylan 96/03/11 02:53:28 *************** *** 49,51 **** --- 49,62 ---- end; end; end; + + // Seals for file lexenv.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.3 96/01/12 00:58:19 --- ./compiler/base/rep.dylan 96/03/11 02:53:30 *************** *** 1,5 **** module: representation ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/rep.dylan,v 1.3 96/01/12 00:58:19 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: representation ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/rep.dylan,v 1.3 1996/01/12 00:58:19 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 18,20 **** --- 18,26 ---- define generic representation-has-bottom-value? (rep :: ) => res :: ; + + // Seals for file rep.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.9 96/02/21 02:43:02 --- ./compiler/base/names.dylan 96/03/11 02:53:28 *************** *** 104,106 **** --- 104,120 ---- add-make-dumper (#"generated-name", *compiler-dispatcher*, , list(generated-name-description, description:, #f)); + + // Seals for file names.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); *** 1.40 96/03/08 05:30:10 --- ./compiler/base/od-format.dylan 96/03/16 22:48:00 *************** *** 1,5 **** Module: od-format ! RCS-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/od-format.dylan,v 1.40 96/03/08 05:30:10 rgs Exp Locker: wlott $ /* --- 1,5 ---- Module: od-format ! RCS-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/od-format.dylan,v 1.40 96/03/08 05:30:10 rgs Exp Locker: rgs $ /* *************** *** 1303,1309 **** // Table mapping data unit names to a list of pairs (unit-type . data-unit) // ! define variable *data-units* = make(
); define /* exported */ class () --- 1303,1309 ---- // Table mapping data unit names to a list of pairs (unit-type . data-unit) // ! define variable *data-units* :: = make(
); define /* exported */ class () *************** *** 1880,1886 **** let nwords = buffer-word(buffer, state.od-next); state.od-next := state.od-next + $word-bytes; let res = make(, size: nwords); ! for (i from 0 below nwords) res[i] := buffer-word(buffer, fill-at-least($word-bytes, state)); state.od-next := state.od-next + $word-bytes; end for; --- 1880,1886 ---- let nwords = buffer-word(buffer, state.od-next); state.od-next := state.od-next + $word-bytes; let res = make(, size: nwords); ! for (i :: from 0 below nwords) res[i] := buffer-word(buffer, fill-at-least($word-bytes, state)); state.od-next := state.od-next + $word-bytes; end for; *************** *** 2255,2266 **** // Table mapping classes to objects. // ! define variable *make-dumpers* = make(); // Keep track of what we've complained about already, so we don't spam // the reader with the same warnings // ! define variable *classes-I-cant-dump* = make(); // In order to avoid using add-method (so dump-od can be sealed), we have a // default method for dump-od which does its own dispatching based on the --- 2255,2266 ---- // Table mapping classes to objects. // ! define constant *make-dumpers* :: = make(); // Keep track of what we've complained about already, so we don't spam // the reader with the same warnings // ! define constant *classes-I-cant-dump* :: = make(); // In order to avoid using add-method (so dump-od can be sealed), we have a // default method for dump-od which does its own dispatching based on the *************** *** 2412,2414 **** --- 2412,2452 ---- end for; vec; end method invert-registry; + + // Seals for file od-format.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); *** 1.4 96/01/12 00:58:19 --- ./compiler/base/params.dylan 96/03/11 02:53:29 *************** *** 1,5 **** module: params ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/params.dylan,v 1.4 96/01/12 00:58:19 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. --- 1,5 ---- module: params ! rcs-header: $Header: /users/rgs/hackers/ccomp2/compiler/base/RCS/params.dylan,v 1.4 1996/01/12 00:58:19 wlott Exp $ copyright: Copyright (c) 1995 Carnegie Mellon University All rights reserved. *************** *** 11,14 **** --- 11,17 ---- define constant $maximum-integer = lognot($minimum-integer); + + + // Seals for file params.dylan *** 1.15 96/02/21 02:44:41 --- ./compiler/base/parse-tree.dylan 96/03/11 02:53:29 *************** *** 1101,1103 **** --- 1101,1288 ---- if (pvarref.patvarref-separator) separator: end, pvarref.patvarref-separator); end; + + // Seals for file parse-tree.dylan + + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + seal generic initialize(); + // -- subclass of + seal generic make(singleton()); + //