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 ***
Stephen Adams [Mon, 31 Jul 1995 19:13:14 +0000 (19:13 +0000)]
CC-ENTRY labels may have disappeared in RTL optimization.
Be graceful about this.
Stephen Adams [Mon, 31 Jul 1995 18:27:07 +0000 (18:27 +0000)]
Made obsolete.
When 7.4 vanishes we should rename rebuild-8.0 to be rebuild.
Stephen Adams [Sat, 29 Jul 1995 17:02:30 +0000 (17:02 +0000)]
Currently being run daily from adams's crontab
Stephen Adams [Sat, 29 Jul 1995 16:58:43 +0000 (16:58 +0000)]
*** empty log message ***
Stephen Adams [Sat, 29 Jul 1995 16:55:56 +0000 (16:55 +0000)]
Changed to use ENOUGH-PATHNAME for reporting the file names. The
previous version was using the pathname-directory list and losing
information. There was also a #F/() bug in this code.
Stephen Adams [Sat, 29 Jul 1995 15:01:10 +0000 (15:01 +0000)]
Initial revision
Stephen Adams [Sat, 29 Jul 1995 14:56:29 +0000 (14:56 +0000)]
Updated to reflect new directories.
Stephen Adams [Sat, 29 Jul 1995 14:48:14 +0000 (14:48 +0000)]
Updated to reflect new directories.
Stephen Adams [Sat, 29 Jul 1995 14:45:30 +0000 (14:45 +0000)]
Initial revision
Stephen Adams [Fri, 28 Jul 1995 21:28:59 +0000 (21:28 +0000)]
Changed default *MAXIMUM-NODE-COUNT* down to 10000.
Stephen Adams [Fri, 28 Jul 1995 17:45:09 +0000 (17:45 +0000)]
Added COMPILED-MODULE-EVAL.
Stephen Adams [Fri, 28 Jul 1995 15:56:55 +0000 (15:56 +0000)]
Removed a BKPT.
Stephen Adams [Fri, 28 Jul 1995 14:25:11 +0000 (14:25 +0000)]
Added kludge to get around a gratuitous name change between 7.4 and 8.0
Stephen Adams [Fri, 28 Jul 1995 14:14:08 +0000 (14:14 +0000)]
Initial revision
Stephen Adams [Thu, 27 Jul 1995 23:19:50 +0000 (23:19 +0000)]
Initial revision
Stephen Adams [Thu, 27 Jul 1995 22:00:28 +0000 (22:00 +0000)]
Added INDEX-FIXNUM? and new representation for unspecified conditional
branch.
Stephen Adams [Thu, 27 Jul 1995 21:33:44 +0000 (21:33 +0000)]
General improvement of library procedures:
Improved error checking. More procedures have checks. Code is
organized to avoid duplicate checks and to reduce bloat from
integrated GUARANTEE-* procedures. Makes use of new INDEX-FIXNUM?
predicate.
Replaced some recurive algorithms by iterative equivalents.
New procedure: VECTOR-APPEND
Stephen Adams [Thu, 27 Jul 1995 21:23:12 +0000 (21:23 +0000)]
Added COMPILED-CODE-BLOCK/MARKED-START which returns the index that
COMPILED-CODE-BLOCK/CONSTANTS-START used to.
COMPILED-CODE-BLOCK/CONSTANTS-START now parses over the linkage
section.
Stephen Adams [Thu, 27 Jul 1995 21:15:28 +0000 (21:15 +0000)]
*** empty log message ***
Stephen Adams [Thu, 27 Jul 1995 21:11:41 +0000 (21:11 +0000)]
The debugging information have been completely overhauled for the new
compiler.
Compiled files (.com files) now countain a COMPILED-MODULE object.
Debugging information is accessed by a DBG-LOCATOR, and the located
files must contains a DBG-WRAPPER with corresponding timestamps.
These objects also contain a version which allows safe extension of
the dbg information.
DBG-BLOCKs now contain access paths which describe how to find the
value for the bindings (they used to describe the inverse, i.e. the
layout of the object).
DBG-PROCEDURES have been streamlined to get lambda list information
from the source code.
DBG-VARIABLES are implemented as pairs to save on storage.
Improved error message for ENVIRONMENT-* operations.
Now there is only one kind of compiled environment which contains a
root object and a DBG-BLOCK. The access paths in the DBG-BLOCK are
relative to the root object.
The access paths are evaluated by a stack machine which understands a
fixed vocabulary of operations and 1- and 2- place primitives.
CCENV/LOOKUP and CCENV/ASSIGN! now give an unbound variable error if
he variable is not bound. They used to return an unavailable
object (currently the symbol "??").
CCENV/ARGUMENTS tries to be clever with #!OPTIONAL arguements - an
assignment trap (i.e. default-object?) determines the number of
arguments provided that the previous argument is either required or
available.
Stephen Adams [Thu, 27 Jul 1995 21:07:21 +0000 (21:07 +0000)]
The cold boot file "make.com" must contain an scode expression.
Extended to ensure that this is true as the compiler dumps a
COMPILED-MODULE structure.