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.
Stephen Adams [Tue, 5 Sep 1995 18:48:37 +0000 (18:48 +0000)]
Fixed errant paren.
Stephen Adams [Tue, 5 Sep 1995 18:46:39 +0000 (18:46 +0000)]
Rearranged files in midend.
Stephen Adams [Tue, 5 Sep 1995 18:46:09 +0000 (18:46 +0000)]
First `working' version.
Stephen Adams [Tue, 5 Sep 1995 18:01:24 +0000 (18:01 +0000)]
Changed `dethunking' to expect promises, so we can profile primitive
procedures.
Stephen Adams [Tue, 5 Sep 1995 12:31:38 +0000 (12:31 +0000)]
Tafting
Stephen Adams [Mon, 4 Sep 1995 21:55:10 +0000 (21:55 +0000)]
Moved FOR-EVERY to utils.scm
Stephen Adams [Mon, 4 Sep 1995 21:07:36 +0000 (21:07 +0000)]
Initial revision
Stephen Adams [Mon, 4 Sep 1995 20:41:14 +0000 (20:41 +0000)]
Punted reference to obsolete %vector-index.
Stephen Adams [Mon, 4 Sep 1995 14:00:54 +0000 (14:00 +0000)]
Added an efficiency tip.
Stephen Adams [Sun, 3 Sep 1995 17:15:04 +0000 (17:15 +0000)]
Safety checkin.
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!.
Stephen Adams [Sat, 2 Sep 1995 13:30:23 +0000 (13:30 +0000)]
Check in prior to rewrite to split type analysis from rewrites.
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.
Stephen Adams [Fri, 1 Sep 1995 18:53:45 +0000 (18:53 +0000)]
Initial revision
Stephen Adams [Thu, 31 Aug 1995 15:26:05 +0000 (15:26 +0000)]
Excised %machine-fixnum?
Stephen Adams [Wed, 30 Aug 1995 19:54:46 +0000 (19:54 +0000)]
Removed "Node absent" warning.
Stephen Adams [Tue, 29 Aug 1995 14:56:39 +0000 (14:56 +0000)]
Added more global operators.
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).
Stephen Adams [Mon, 28 Aug 1995 13:29:07 +0000 (13:29 +0000)]
*** empty log message ***
Stephen Adams [Mon, 28 Aug 1995 13:22:19 +0000 (13:22 +0000)]
Initial revision
Stephen Adams [Mon, 28 Aug 1995 13:20:16 +0000 (13:20 +0000)]
Added warning
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.
Stephen Adams [Wed, 23 Aug 1995 14:21:58 +0000 (14:21 +0000)]
Added flonum cell operations.
Stephen Adams [Wed, 23 Aug 1995 14:07:44 +0000 (14:07 +0000)]
Added flonum cells.
Stephen Adams [Mon, 21 Aug 1995 13:14:14 +0000 (13:14 +0000)]
Fixed units.
Stephen Adams [Sun, 20 Aug 1995 15:58:14 +0000 (15:58 +0000)]
Changed the make-<mumble>-operator procedures to use arity dispatched
procedures.
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.
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.
Stephen Adams [Sat, 19 Aug 1995 22:05:29 +0000 (22:05 +0000)]
Tafting.
Stephen Adams [Sat, 19 Aug 1995 16:09:45 +0000 (16:09 +0000)]
Added more DBG infor propogation.
Stephen Adams [Sat, 19 Aug 1995 15:33:40 +0000 (15:33 +0000)]
Replaced a VECTOR-REF with a %vector-ref.
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'.
Stephen Adams [Sat, 19 Aug 1995 15:30:43 +0000 (15:30 +0000)]
Add FORM parameter to all the operator rewriters.
Stephen Adams [Sat, 19 Aug 1995 15:29:50 +0000 (15:29 +0000)]
Fixed typo.
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.
Stephen Adams [Sat, 19 Aug 1995 13:42:24 +0000 (13:42 +0000)]
Fixed bug with long chains of `indirection variables'.
Stephen Adams [Sat, 19 Aug 1995 02:03:46 +0000 (02:03 +0000)]
Typo.
Stephen Adams [Sat, 19 Aug 1995 02:02:57 +0000 (02:02 +0000)]
TYpo.
Stephen Adams [Sat, 19 Aug 1995 01:36:13 +0000 (01:36 +0000)]
Added %primitive-error and tuples and vectro index checking prims.
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'.
Stephen Adams [Sat, 19 Aug 1995 01:15:44 +0000 (01:15 +0000)]
Corrected handling of missing DBG-BLOCK.
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.
Stephen Adams [Fri, 18 Aug 1995 22:16:20 +0000 (22:16 +0000)]
Update comment containing useful code for viewing DBG info.
Stephen Adams [Fri, 18 Aug 1995 21:52:42 +0000 (21:52 +0000)]
Convert to MONOTONIC-STRING-EQ-HASH-TABLEs
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.
Stephen Adams [Fri, 18 Aug 1995 18:09:35 +0000 (18:09 +0000)]
Containers use %car and %cdr, not 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.
Stephen Adams [Wed, 16 Aug 1995 18:19:52 +0000 (18:19 +0000)]
Added checked rewrites for VECTOR-REF, VECTOR-SET!, CAR and CDR.
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.
Stephen Adams [Tue, 15 Aug 1995 00:12:17 +0000 (00:12 +0000)]
Undoen previous `fix'.
The problem was in hppa.m4.
Stephen Adams [Mon, 14 Aug 1995 22:03:44 +0000 (22:03 +0000)]
Preserved GR2 into GR13 around floatiing_point_util.
Stephen Adams [Mon, 14 Aug 1995 21:54:09 +0000 (21:54 +0000)]
Preserve g2 around special calls.
Stephen Adams [Mon, 14 Aug 1995 15:11:24 +0000 (15:11 +0000)]
Make compiler:generate-stack-checks? work.
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.
Stephen Adams [Thu, 10 Aug 1995 21:52:53 +0000 (21:52 +0000)]
Fixed syntax error in expansion of (*& 0. x)
Stephen Adams [Thu, 10 Aug 1995 19:21:58 +0000 (19:21 +0000)]
Converted to new hash tables.
Stephen Adams [Thu, 10 Aug 1995 13:50:13 +0000 (13:50 +0000)]
Add MONOTONIC-STRONG-EQ-HASH-TABLEs.
Stephen Adams [Thu, 10 Aug 1995 13:48:22 +0000 (13:48 +0000)]
Made *operator-properties* more abstract.
Stephen Adams [Thu, 10 Aug 1995 13:42:50 +0000 (13:42 +0000)]
Made *operator-properties* more abstract.
Stephen Adams [Wed, 9 Aug 1995 01:44:43 +0000 (01:44 +0000)]
Initial revision
Stephen Adams [Tue, 8 Aug 1995 22:58:33 +0000 (22:58 +0000)]
Name change.
Stephen Adams [Tue, 8 Aug 1995 22:37:15 +0000 (22:37 +0000)]
Added time `zones'.
Stephen Adams [Tue, 8 Aug 1995 16:21:25 +0000 (16:21 +0000)]
renamed *kmp-output-abbreviated?* to compiler:kmp-output-abbreviated?
Stephen Adams [Tue, 8 Aug 1995 16:20:41 +0000 (16:20 +0000)]
*** empty log message ***
Stephen Adams [Tue, 8 Aug 1995 16:17:59 +0000 (16:17 +0000)]
Added compiler:kmp-output-abbreviated?
Stephen Adams [Tue, 8 Aug 1995 15:59:50 +0000 (15:59 +0000)]
Changed time reporting to use WITH-TIMINGS.
Stephen Adams [Tue, 8 Aug 1995 15:32:15 +0000 (15:32 +0000)]
SHOW-TIME now uses WITH-TIMINGS.
Stephen Adams [Tue, 8 Aug 1995 15:31:05 +0000 (15:31 +0000)]
Added WITH-TIMINGS, a general procedure timing device.
Stephen Adams [Tue, 8 Aug 1995 15:30:29 +0000 (15:30 +0000)]
Export WITH-TIMINGS.
Stephen Adams [Tue, 8 Aug 1995 14:28:46 +0000 (14:28 +0000)]
Edit scheme-8.0-new -> scheme-8.0
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.
Stephen Adams [Mon, 7 Aug 1995 16:12:35 +0000 (16:12 +0000)]
Removed %vector-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).
Stephen Adams [Sun, 6 Aug 1995 22:25:48 +0000 (22:25 +0000)]
Improved linearizer to copy lists exactly once.
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).
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).
Stephen Adams [Sun, 6 Aug 1995 19:24:46 +0000 (19:24 +0000)]
Added new, faster SORT-MACHINE-REGISTERS procedure.
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.
Stephen Adams [Sat, 5 Aug 1995 16:26:53 +0000 (16:26 +0000)]
*** empty log message ***
Stephen Adams [Sat, 5 Aug 1995 16:25:13 +0000 (16:25 +0000)]
Initial revision
Stephen Adams [Sat, 5 Aug 1995 16:15:16 +0000 (16:15 +0000)]
Initial revision
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).
Stephen Adams [Fri, 4 Aug 1995 17:35:53 +0000 (17:35 +0000)]
Fixed bug whereby (LOAD '("file" ... )) would load only the last file.
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.
Stephen Adams [Fri, 4 Aug 1995 01:33:11 +0000 (01:33 +0000)]
Update package constructor & loader file name conventions.
Stephen Adams [Thu, 3 Aug 1995 23:28:21 +0000 (23:28 +0000)]
Fix typo.
Stephen Adams [Thu, 3 Aug 1995 23:23:50 +0000 (23:23 +0000)]
Overhauled debugging info so that it combines forwards and backwards search.
Stephen Adams [Thu, 3 Aug 1995 00:17:40 +0000 (00:17 +0000)]
Repaginate.
Stephen Adams [Wed, 2 Aug 1995 23:32:42 +0000 (23:32 +0000)]
Initial revision
Chris Hanson [Wed, 2 Aug 1995 21:42:14 +0000 (21:42 +0000)]
When an expander inserts multiple references to an operand, insert a
LET so that the operand is only bound once.
Stephen Adams [Wed, 2 Aug 1995 21:28:26 +0000 (21:28 +0000)]
Initial revision
Stephen Adams [Wed, 2 Aug 1995 20:47:38 +0000 (20:47 +0000)]
Fixed buglet whereby the system would complain that the dbg info was
not `wrapped' when in fact it was absent.
Stephen Adams [Wed, 2 Aug 1995 19:02:17 +0000 (19:02 +0000)]
Fixed typos which were causing INT:INTEGER and WITH-VALUES not to be
open-coded.
Stephen Adams [Wed, 2 Aug 1995 14:05:42 +0000 (14:05 +0000)]
Added some statistics gathering to help figure out why dbg-reduce is
slow on huge programs.
Stephen Adams [Wed, 2 Aug 1995 03:56:44 +0000 (03:56 +0000)]
Replace INT:INTEGER? by faster EXACT-INTEGER?
Stephen Adams [Wed, 2 Aug 1995 03:51:01 +0000 (03:51 +0000)]
Enlarged heap for building compiler band.
Stephen Adams [Wed, 2 Aug 1995 03:11:55 +0000 (03:11 +0000)]
Changed COMPILE-PROCEDURE so that `temporary' KMP, RTL and LAP files
are produced only if the corresponding COMPILER:GENERATE-*-FILES? flag
is true.
Chris Hanson [Tue, 1 Aug 1995 05:05:08 +0000 (05:05 +0000)]
Fix weird bug in OUTPUT-BUFFER/WRITE-SUBSTRING. This bug only
occurred when line-translation was used, and it caused the system to
hang during some writes. There was some associated anomalous behavior
that is not yet explained.
Stephen Adams [Mon, 31 Jul 1995 19:26:22 +0000 (19:26 +0000)]
*** empty log message ***