mit-scheme.git
29 years agoRepaginate.
Stephen Adams [Thu, 7 Sep 1995 22:07:49 +0000 (22:07 +0000)]
Repaginate.

29 years agoAdded more global expansions.
Stephen Adams [Thu, 7 Sep 1995 20:53:56 +0000 (20:53 +0000)]
Added more global expansions.

29 years agoCommented out WIDEN.
Stephen Adams [Tue, 5 Sep 1995 21:45:17 +0000 (21:45 +0000)]
Commented out WIDEN.
It is failing in the pre-cps position.
Test case: dragon4.scm:dragon-fixup

29 years agoFixed call to ERROR:WRONG-TYPE-DATUM to pass correct number of
Stephen Adams [Tue, 5 Sep 1995 21:27:35 +0000 (21:27 +0000)]
Fixed call to ERROR:WRONG-TYPE-DATUM to pass correct number of
arguments.

29 years agoFix typo.
Stephen Adams [Tue, 5 Sep 1995 19:45:32 +0000 (19:45 +0000)]
Fix typo.

29 years agoAdded constant-folder for STRING->SYMBOL.
Stephen Adams [Tue, 5 Sep 1995 19:14:35 +0000 (19:14 +0000)]
Added constant-folder for STRING->SYMBOL.

29 years agoInitial revision
Stephen Adams [Tue, 5 Sep 1995 19:08:51 +0000 (19:08 +0000)]
Initial revision

29 years agoMoved MONOTONIC-STRONG-EQ-HASH-TABLEs to base/fasthash.scm
Stephen Adams [Tue, 5 Sep 1995 19:08:20 +0000 (19:08 +0000)]
Moved MONOTONIC-STRONG-EQ-HASH-TABLEs to base/fasthash.scm

29 years agoAdded more types.
Stephen Adams [Tue, 5 Sep 1995 19:07:29 +0000 (19:07 +0000)]
Added more types.
Added support for abstractly testing (OBJECT-TYPE? <number> ...)
Removed all the construction of a database of types for known
operators.  That is the province of typedb.scm (and perhaps
fakeprim.scm)

29 years agoAdded STRING->SYMBOL.
Stephen Adams [Tue, 5 Sep 1995 19:04:43 +0000 (19:04 +0000)]
Added STRING->SYMBOL.

29 years agoFixed problem with barfing at %make-heap-closure in predicate position
Stephen Adams [Tue, 5 Sep 1995 19:04:13 +0000 (19:04 +0000)]
Fixed problem with barfing at %make-heap-closure in predicate position
(how it got there is another mystery).

Replaced many primitive procedures by their `%' variants.

29 years agoMoved split and widen pre-CPS.
Stephen Adams [Tue, 5 Sep 1995 19:01:45 +0000 (19:01 +0000)]
Moved split and widen pre-CPS.

29 years agoAdded `ignored' bindings to keep SF quiet.
Stephen Adams [Tue, 5 Sep 1995 19:00:21 +0000 (19:00 +0000)]
Added `ignored' bindings to keep SF quiet.

29 years agoRemoved some primitives (CAR, STRING-SET!, ...) from the simple
Stephen Adams [Tue, 5 Sep 1995 18:59:19 +0000 (18:59 +0000)]
Removed some primitives (CAR, STRING-SET!, ...) from the simple
operator list.  Added an set of replacement `%primitives' as unchecked
replacements that do no type or range checking.  The ordinary
primitives are now coded as calls to the primitive procedure and may
be used to raise errors.

29 years agoRestructured generic arithetic rewrites. Removed possibility of doing
Stephen Adams [Tue, 5 Sep 1995 18:56:00 +0000 (18:56 +0000)]
Restructured generic arithetic rewrites.  Removed possibility of doing
early `diamond' rewrites - that is the province of typerew and laterew.

Removed kludged type-checked stuff into typerew.

29 years agoFixed errant paren.
Stephen Adams [Tue, 5 Sep 1995 18:48:37 +0000 (18:48 +0000)]
Fixed errant paren.

29 years agoRearranged files in midend.
Stephen Adams [Tue, 5 Sep 1995 18:46:39 +0000 (18:46 +0000)]
Rearranged files in midend.

29 years agoFirst `working' version.
Stephen Adams [Tue, 5 Sep 1995 18:46:09 +0000 (18:46 +0000)]
First `working' version.

29 years agoChanged `dethunking' to expect promises, so we can profile primitive
Stephen Adams [Tue, 5 Sep 1995 18:01:24 +0000 (18:01 +0000)]
Changed `dethunking' to expect promises, so we can profile primitive
procedures.

29 years agoTafting
Stephen Adams [Tue, 5 Sep 1995 12:31:38 +0000 (12:31 +0000)]
Tafting

29 years agoMoved FOR-EVERY to utils.scm
Stephen Adams [Mon, 4 Sep 1995 21:55:10 +0000 (21:55 +0000)]
Moved FOR-EVERY to utils.scm

29 years agoInitial revision
Stephen Adams [Mon, 4 Sep 1995 21:07:36 +0000 (21:07 +0000)]
Initial revision

29 years agoPunted reference to obsolete %vector-index.
Stephen Adams [Mon, 4 Sep 1995 20:41:14 +0000 (20:41 +0000)]
Punted reference to obsolete %vector-index.

29 years agoAdded an efficiency tip.
Stephen Adams [Mon, 4 Sep 1995 14:00:54 +0000 (14:00 +0000)]
Added an efficiency tip.

29 years agoSafety checkin.
Stephen Adams [Sun, 3 Sep 1995 17:15:04 +0000 (17:15 +0000)]
Safety checkin.

29 years agoAdded expansions for %generic-index-check/ref and %generic-index-check/set!.
Stephen Adams [Sat, 2 Sep 1995 20:57:24 +0000 (20:57 +0000)]
Added expansions for %generic-index-check/ref and %generic-index-check/set!.

29 years agoCheck in prior to rewrite to split type analysis from rewrites.
Stephen Adams [Sat, 2 Sep 1995 13:30:23 +0000 (13:30 +0000)]
Check in prior to rewrite to split type analysis from rewrites.

29 years agoFixed bug whereby primitives that were called with the wrong number of
Stephen Adams [Fri, 1 Sep 1995 21:35:49 +0000 (21:35 +0000)]
Fixed bug whereby primitives that were called with the wrong number of
arguments were invoked directly.  Now they are applied, to produce an
error.

29 years agoInitial revision
Stephen Adams [Fri, 1 Sep 1995 18:53:45 +0000 (18:53 +0000)]
Initial revision

29 years agoExcised %machine-fixnum?
Stephen Adams [Thu, 31 Aug 1995 15:26:05 +0000 (15:26 +0000)]
Excised %machine-fixnum?

29 years agoRemoved "Node absent" warning.
Stephen Adams [Wed, 30 Aug 1995 19:54:46 +0000 (19:54 +0000)]
Removed "Node absent" warning.

29 years agoAdded more global operators.
Stephen Adams [Tue, 29 Aug 1995 14:56:39 +0000 (14:56 +0000)]
Added more global operators.

29 years agoAdded feature where (ACCESS <name> <system-global-environment>) is
Stephen Adams [Tue, 29 Aug 1995 14:06:45 +0000 (14:06 +0000)]
Added feature where (ACCESS <name> <system-global-environment>) is
unsyntaxed as <name> if UNSYNTAXER:ELIDE-GLOBAL-ACCESSES? is non-false
and there are no shadowing bindings.

This is slightly imperfect because the unsyntaxer cant know about
names bound in the scode that surrounds the expression that was
initially passed to UNSYNTAX.  Perhaps these names should be a
parameter.  Debuggers could then augment the bound names with names
from the environment (or perhaps unsyntaxing should be done with
reference to an environment).

The feature is currently OFF by default, but I envision it being
necessary for sanity as more and more IEEE/R4RS operators are
integrated as global accesses (so that the compiler knows that it can
optimize them).

29 years ago*** empty log message ***
Stephen Adams [Mon, 28 Aug 1995 13:29:07 +0000 (13:29 +0000)]
*** empty log message ***

29 years agoInitial revision
Stephen Adams [Mon, 28 Aug 1995 13:22:19 +0000 (13:22 +0000)]
Initial revision

29 years agoAdded warning
Stephen Adams [Mon, 28 Aug 1995 13:20:16 +0000 (13:20 +0000)]
Added warning

29 years agoAdded some information about writing faster code. At the moment it is
Stephen Adams [Sun, 27 Aug 1995 18:52:39 +0000 (18:52 +0000)]
Added some information about writing faster code.  At the moment it is
pretty unstructured, but at least this information is finding its way
onto paper.

29 years agoAdded flonum cell operations.
Stephen Adams [Wed, 23 Aug 1995 14:21:58 +0000 (14:21 +0000)]
Added flonum cell operations.

29 years agoAdded flonum cells.
Stephen Adams [Wed, 23 Aug 1995 14:07:44 +0000 (14:07 +0000)]
Added flonum cells.

29 years agoFixed units.
Stephen Adams [Mon, 21 Aug 1995 13:14:14 +0000 (13:14 +0000)]
Fixed units.

29 years agoChanged the make-<mumble>-operator procedures to use arity dispatched
Stephen Adams [Sun, 20 Aug 1995 15:58:14 +0000 (15:58 +0000)]
Changed the make-<mumble>-operator procedures to use arity dispatched
procedures.

29 years agoTemporarily removed dataflow based constant folding because some of
Stephen Adams [Sat, 19 Aug 1995 22:43:34 +0000 (22:43 +0000)]
Temporarily removed dataflow based constant folding because some of
the nodes seem to be of the wrong kind.

29 years agoLiberalized insertion code so that closure-guts get inserted a legal place.
Stephen Adams [Sat, 19 Aug 1995 22:42:51 +0000 (22:42 +0000)]
Liberalized insertion code so that closure-guts get inserted a legal place.

29 years agoTafting.
Stephen Adams [Sat, 19 Aug 1995 22:05:29 +0000 (22:05 +0000)]
Tafting.

29 years agoAdded more DBG infor propogation.
Stephen Adams [Sat, 19 Aug 1995 16:09:45 +0000 (16:09 +0000)]
Added more DBG infor propogation.

29 years agoReplaced a VECTOR-REF with a %vector-ref.
Stephen Adams [Sat, 19 Aug 1995 15:33:40 +0000 (15:33 +0000)]
Replaced a VECTOR-REF with a %vector-ref.

29 years agoAdded mechanism for open-coders to be able to access the CALL form.
Stephen Adams [Sat, 19 Aug 1995 15:33:00 +0000 (15:33 +0000)]
Added mechanism for open-coders to be able to access the CALL form.
Special and out-of-line open coders use this to generate a
DBG-CONTINUATION for the `local continuation'.

29 years agoAdd FORM parameter to all the operator rewriters.
Stephen Adams [Sat, 19 Aug 1995 15:30:43 +0000 (15:30 +0000)]
Add FORM parameter to all the operator rewriters.

29 years agoFixed typo.
Stephen Adams [Sat, 19 Aug 1995 15:29:50 +0000 (15:29 +0000)]
Fixed typo.

29 years agoFixed patchup code for make.com to determine and use an absolute
Stephen Adams [Sat, 19 Aug 1995 14:30:44 +0000 (14:30 +0000)]
Fixed patchup code for make.com to determine and use an absolute
pathname because BINARY-FASLOAD does not set the scheme process's
working directory.

29 years agoFixed bug with long chains of `indirection variables'.
Stephen Adams [Sat, 19 Aug 1995 13:42:24 +0000 (13:42 +0000)]
Fixed bug with long chains of `indirection variables'.

29 years agoTypo.
Stephen Adams [Sat, 19 Aug 1995 02:03:46 +0000 (02:03 +0000)]
Typo.

29 years agoTYpo.
Stephen Adams [Sat, 19 Aug 1995 02:02:57 +0000 (02:02 +0000)]
TYpo.

29 years agoAdded %primitive-error and tuples and vectro index checking prims.
Stephen Adams [Sat, 19 Aug 1995 01:36:13 +0000 (01:36 +0000)]
Added %primitive-error and tuples and vectro index checking prims.

29 years agoWorked through DBG-info of generic arithmetic & other cases with
Stephen Adams [Sat, 19 Aug 1995 01:34:04 +0000 (01:34 +0000)]
Worked through DBG-info of generic arithmetic & other cases with
`local continuations'.

29 years agoCorrected handling of missing DBG-BLOCK.
Stephen Adams [Sat, 19 Aug 1995 01:15:44 +0000 (01:15 +0000)]
Corrected handling of missing DBG-BLOCK.

29 years agoNEW-DBG-EXPRESSIONs now have a pointer to the scode for their
Stephen Adams [Fri, 18 Aug 1995 23:54:03 +0000 (23:54 +0000)]
NEW-DBG-EXPRESSIONs now have a pointer to the scode for their
containing combination.  This is to assist in creating
NEW-DBG-CONTINUATIONs for continuations that did not previously exist
in the user's program.

29 years agoUpdate comment containing useful code for viewing DBG info.
Stephen Adams [Fri, 18 Aug 1995 22:16:20 +0000 (22:16 +0000)]
Update comment containing useful code for viewing DBG info.

29 years agoConvert to MONOTONIC-STRING-EQ-HASH-TABLEs
Stephen Adams [Fri, 18 Aug 1995 21:52:42 +0000 (21:52 +0000)]
Convert to MONOTONIC-STRING-EQ-HASH-TABLEs

29 years agoMade some operators (MEMQ, SQRT and EXPT) integrate as global operators.
Stephen Adams [Fri, 18 Aug 1995 18:17:37 +0000 (18:17 +0000)]
Made some operators (MEMQ, SQRT and EXPT) integrate as global operators.
This will allow the new compiler to identify them and so something smart.

29 years agoContainers use %car and %cdr, not CAR and CDR.
Stephen Adams [Fri, 18 Aug 1995 18:09:35 +0000 (18:09 +0000)]
Containers use %car and %cdr, not CAR and CDR.

29 years agoAdded checked rewrites for VECTOR-REF, VECTOR-SET!, CAR and CDR.
Stephen Adams [Wed, 16 Aug 1995 20:13:18 +0000 (20:13 +0000)]
Added checked rewrites for VECTOR-REF, VECTOR-SET!, CAR and CDR.

29 years agoAdded checked rewrites for VECTOR-REF, VECTOR-SET!, CAR and CDR.
Stephen Adams [Wed, 16 Aug 1995 18:19:52 +0000 (18:19 +0000)]
Added checked rewrites for VECTOR-REF, VECTOR-SET!, CAR and CDR.

29 years agoFor some reason the val register was not being preserved (by storing
Stephen Adams [Tue, 15 Aug 1995 00:16:00 +0000 (00:16 +0000)]
For some reason the val register was not being preserved (by storing
it in the regblock) accross floating point utilities.

29 years agoUndoen previous `fix'.
Stephen Adams [Tue, 15 Aug 1995 00:12:17 +0000 (00:12 +0000)]
Undoen previous `fix'.
The problem was in hppa.m4.

29 years agoPreserved GR2 into GR13 around floatiing_point_util.
Stephen Adams [Mon, 14 Aug 1995 22:03:44 +0000 (22:03 +0000)]
Preserved GR2 into GR13 around floatiing_point_util.

29 years agoPreserve g2 around special calls.
Stephen Adams [Mon, 14 Aug 1995 21:54:09 +0000 (21:54 +0000)]
Preserve g2 around special calls.

29 years agoMake compiler:generate-stack-checks? work.
Stephen Adams [Mon, 14 Aug 1995 15:11:24 +0000 (15:11 +0000)]
Make compiler:generate-stack-checks? work.

29 years agoChanged dataflow to assume that ABORTs mean that the free memory has
Stephen Adams [Thu, 10 Aug 1995 22:23:05 +0000 (22:23 +0000)]
Changed dataflow to assume that ABORTs mean that the free memory has
been exhausted, rather than relying on fixed limits.

29 years agoFixed syntax error in expansion of (*& 0. x)
Stephen Adams [Thu, 10 Aug 1995 21:52:53 +0000 (21:52 +0000)]
Fixed syntax error in expansion of (*& 0. x)

29 years agoConverted to new hash tables.
Stephen Adams [Thu, 10 Aug 1995 19:21:58 +0000 (19:21 +0000)]
Converted to new hash tables.

29 years agoAdd MONOTONIC-STRONG-EQ-HASH-TABLEs.
Stephen Adams [Thu, 10 Aug 1995 13:50:13 +0000 (13:50 +0000)]
Add MONOTONIC-STRONG-EQ-HASH-TABLEs.

29 years agoMade *operator-properties* more abstract.
Stephen Adams [Thu, 10 Aug 1995 13:48:22 +0000 (13:48 +0000)]
Made *operator-properties* more abstract.

29 years agoMade *operator-properties* more abstract.
Stephen Adams [Thu, 10 Aug 1995 13:42:50 +0000 (13:42 +0000)]
Made *operator-properties* more abstract.

29 years agoInitial revision
Stephen Adams [Wed, 9 Aug 1995 01:44:43 +0000 (01:44 +0000)]
Initial revision

29 years agoName change.
Stephen Adams [Tue, 8 Aug 1995 22:58:33 +0000 (22:58 +0000)]
Name change.

29 years agoAdded time `zones'.
Stephen Adams [Tue, 8 Aug 1995 22:37:15 +0000 (22:37 +0000)]
Added time `zones'.

29 years agorenamed *kmp-output-abbreviated?* to compiler:kmp-output-abbreviated?
Stephen Adams [Tue, 8 Aug 1995 16:21:25 +0000 (16:21 +0000)]
renamed *kmp-output-abbreviated?* to compiler:kmp-output-abbreviated?

29 years ago*** empty log message ***
Stephen Adams [Tue, 8 Aug 1995 16:20:41 +0000 (16:20 +0000)]
*** empty log message ***

29 years agoAdded compiler:kmp-output-abbreviated?
Stephen Adams [Tue, 8 Aug 1995 16:17:59 +0000 (16:17 +0000)]
Added compiler:kmp-output-abbreviated?

29 years agoChanged time reporting to use WITH-TIMINGS.
Stephen Adams [Tue, 8 Aug 1995 15:59:50 +0000 (15:59 +0000)]
Changed time reporting to use WITH-TIMINGS.

29 years agoSHOW-TIME now uses WITH-TIMINGS.
Stephen Adams [Tue, 8 Aug 1995 15:32:15 +0000 (15:32 +0000)]
SHOW-TIME now uses WITH-TIMINGS.

29 years agoAdded WITH-TIMINGS, a general procedure timing device.
Stephen Adams [Tue, 8 Aug 1995 15:31:05 +0000 (15:31 +0000)]
Added WITH-TIMINGS, a general procedure timing device.

29 years agoExport WITH-TIMINGS.
Stephen Adams [Tue, 8 Aug 1995 15:30:29 +0000 (15:30 +0000)]
Export WITH-TIMINGS.

29 years agoEdit scheme-8.0-new -> scheme-8.0
Stephen Adams [Tue, 8 Aug 1995 14:28:46 +0000 (14:28 +0000)]
Edit scheme-8.0-new -> scheme-8.0

29 years agoTemorarily disable coerce. It generates quite a lot of code which
Stephen Adams [Mon, 7 Aug 1995 16:17:35 +0000 (16:17 +0000)]
Temorarily disable coerce.  It generates quite a lot of code which
slows down all the subsequent phases.  It also has an uninvestigated
interaction with dataflow as dataflow does not know that teh result of
a coerce operation is essentially the original procedure.

29 years agoRemoved %vector-index
Stephen Adams [Mon, 7 Aug 1995 16:12:35 +0000 (16:12 +0000)]
Removed %vector-index

29 years agoRemoved %vector-index expressions and the indexify phase. The index
Stephen Adams [Sun, 6 Aug 1995 22:26:53 +0000 (22:26 +0000)]
Removed %vector-index expressions and the indexify phase.  The index
computation is now implicit and handled by rtlgen and dbgred.

Looking at the structure of some large programs (e.g. symb in
nscmutils) revealed that up to 32% of the text of a program was
%vector-index expressions.  These get copied in every pass after
closconv/2.  The `elegance' is not worth the performance hit.  About
30% of the remaining text is %stack-closure-ref expressions.  The
overhead could be reduced by introducing another KMP special form
(which would also mean that the DBG info would not need to compress
the expressions, saving time).

29 years agoImproved linearizer to copy lists exactly once.
Stephen Adams [Sun, 6 Aug 1995 22:25:48 +0000 (22:25 +0000)]
Improved linearizer to copy lists exactly once.

29 years agoRemoved %vector-index expressions and the indexify phase. The index
Stephen Adams [Sun, 6 Aug 1995 20:00:24 +0000 (20:00 +0000)]
Removed %vector-index expressions and the indexify phase.  The index
computation is now implicit and handled by rtlgen and dbgred.

Looking at the structure of some large programs (e.g. symb in
nscmutils) revealed that up to 32% of the text of a program was
%vector-index expressions.  These get copied in every pass after
closconv/2.  The `elegance' is not worth the performance hit.  About
30% of the remaining text is %stack-closure-ref expressions.  The
overhead could be reduced by introducing another KMP special form
(which would also mean that the DBG info would not need to compress
the expressions, saving time).

29 years agoRemoved %vector-index expressions and the indexify phase. The index
Stephen Adams [Sun, 6 Aug 1995 19:50:08 +0000 (19:50 +0000)]
Removed %vector-index expressions and the indexify phase.  The index
computation is now implicit and handled by rtlgen and dbgred.

Looking at the structure of some large programs (e.g. symb in
nscmutils) revealed that up to 32% of the text of a program was
%vector-index expressions.  These get copied in every pass after
closconv/2.  The `elegance' is not worth the performance hit.  About
30% of the remaining text is %stack-closure-ref expressions.  The
overhead could be reduced by introducing another KMP special form
(which would also mean that the DBG info would not need to compress
the expressions, saving time).

29 years agoAdded new, faster SORT-MACHINE-REGISTERS procedure.
Stephen Adams [Sun, 6 Aug 1995 19:24:46 +0000 (19:24 +0000)]
Added new, faster SORT-MACHINE-REGISTERS procedure.

29 years agoMoved call of NEWLINE in PP so that (1) there is only one call to
Stephen Adams [Sun, 6 Aug 1995 15:53:07 +0000 (15:53 +0000)]
Moved call of NEWLINE in PP so that (1) there is only one call to
NEWLINE, and (2) the newline is output after any warnings that may
have been issued during unsyntaxing.

29 years ago*** empty log message ***
Stephen Adams [Sat, 5 Aug 1995 16:26:53 +0000 (16:26 +0000)]
*** empty log message ***

29 years agoInitial revision
Stephen Adams [Sat, 5 Aug 1995 16:25:13 +0000 (16:25 +0000)]
Initial revision

29 years agoInitial revision
Stephen Adams [Sat, 5 Aug 1995 16:15:16 +0000 (16:15 +0000)]
Initial revision

29 years agoDBG-REDUCE now stored %stack-closure-ref (and also %read-closure-ref)
Stephen Adams [Fri, 4 Aug 1995 19:48:50 +0000 (19:48 +0000)]
DBG-REDUCE now stored %stack-closure-ref (and also %read-closure-ref)
expressions in a compact form as this is the dominant expression kind.

CLOSCONV generates these expressions directly, and DBG-INFO/REMEMBER
converts others.  STACKOPT is modified to update the stack frame
ordering and INDEXIFY leaves them alone (the call to vectro-index
occurs in DBG info generation).

29 years agoFixed bug whereby (LOAD '("file" ... )) would load only the last file.
Stephen Adams [Fri, 4 Aug 1995 17:35:53 +0000 (17:35 +0000)]
Fixed bug whereby (LOAD '("file" ... )) would load only the last file.

29 years agoFixed COMPILED-PROCEDURE/ENVIRONMENT -- it was expecting an
Stephen Adams [Fri, 4 Aug 1995 13:40:31 +0000 (13:40 +0000)]
Fixed COMPILED-PROCEDURE/ENVIRONMENT -- it was expecting an
`uncompressed' path and thus failing to recognize top-level IC
environments.

29 years agoUpdate package constructor & loader file name conventions.
Stephen Adams [Fri, 4 Aug 1995 01:33:11 +0000 (01:33 +0000)]
Update package constructor & loader file name conventions.