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.
Stephen Adams [Thu, 27 Jul 1995 21:04:49 +0000 (21:04 +0000)]
Currently broken.
Has to be fixed to understand COMPILED-MODULEs.
Stephen Adams [Thu, 27 Jul 1995 21:03:12 +0000 (21:03 +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 20:42:20 +0000 (20:42 +0000)]
New methods for compiled frames to match new dbg info.
Stephen Adams [Thu, 27 Jul 1995 20:40:20 +0000 (20:40 +0000)]
Bindings yielding the `unavailable' object are printed as
FOO is unavailable
Stephen Adams [Thu, 27 Jul 1995 20:37:03 +0000 (20:37 +0000)]
STACK-FRAME/RETURN-ADDRESS is now intelligent and returns the
interrupted entry for interrupt frames. The actual return address (in
this case reflect_to_interface) is available from the file-local
procedure STACK-FRAME/REAL-RETURN-ADDRESS.
Added stack-frame-type methods for converting the stack frames back
into a stream of elements for STACK-FRAME->CONTROL-POINT.
STACK-FRAME/COMPILED-INTERRUPT? now returns the entry to which the
frame belongs.
Stephen Adams [Thu, 27 Jul 1995 20:31:23 +0000 (20:31 +0000)]
Changed bit pattern associated with unspecific.
This really ought to be done by asking the microcode.
Stephen Adams [Thu, 27 Jul 1995 20:22:21 +0000 (20:22 +0000)]
New compiled module code to find purification root and to eval the
compiled module.
Stephen Adams [Thu, 27 Jul 1995 18:30:17 +0000 (18:30 +0000)]
Added customization for scheme-7.4.
Stephen Adams [Thu, 27 Jul 1995 14:28:21 +0000 (14:28 +0000)]
Changed RTLGEN/EMIT-ALTERNATIVES to keep all preservation info because
a CFG node internal to the predicate may be the dominator of either
the consequent or alternate.
Stephen Adams [Thu, 27 Jul 1995 14:25:55 +0000 (14:25 +0000)]
DBG formats are now the same as in the runtime.
Stephen Adams [Thu, 27 Jul 1995 14:23:46 +0000 (14:23 +0000)]
*** empty log message ***
Stephen Adams [Thu, 27 Jul 1995 14:22:18 +0000 (14:22 +0000)]
Put unspecific after final SET!
Stephen Adams [Thu, 27 Jul 1995 14:21:18 +0000 (14:21 +0000)]
Changes for new DBG info and .com formats.
Stephen Adams [Thu, 27 Jul 1995 14:20:23 +0000 (14:20 +0000)]
Package changes for new DBG info.
Stephen Adams [Thu, 27 Jul 1995 14:18:57 +0000 (14:18 +0000)]
Removed all the higher order constructors as there is now only one
compiler.
Stephen Adams [Thu, 27 Jul 1995 14:17:36 +0000 (14:17 +0000)]
Altered DEFINE-EXPORT's expansion so that it (and consequently a file)
does not end in a SET!.
Stephen Adams [Thu, 27 Jul 1995 14:15:46 +0000 (14:15 +0000)]
Added code to merge dbg-block model.
Stephen Adams [Thu, 27 Jul 1995 14:13:55 +0000 (14:13 +0000)]
Modified evaluation to understand modules - this should go in the runtime.
Reorganized dbg-info dumping.
Stephen Adams [Thu, 27 Jul 1995 01:26:34 +0000 (01:26 +0000)]
Define the HPPA magical SHARP_F.
Stephen Adams [Thu, 27 Jul 1995 00:37:51 +0000 (00:37 +0000)]
Implement INSTRUCTION-ADDRESS->COMPILED-CODE-BLOCK.
Stephen Adams [Thu, 27 Jul 1995 00:35:24 +0000 (00:35 +0000)]
Better heuristic location of compiled code blocks.
Stephen Adams [Thu, 27 Jul 1995 00:27:08 +0000 (00:27 +0000)]
New type-codes.
Stephen Adams [Thu, 27 Jul 1995 00:23:31 +0000 (00:23 +0000)]
New type-codes: new precomputed trap constants.
Stephen Adams [Thu, 27 Jul 1995 00:22:16 +0000 (00:22 +0000)]
Arrange that GLOBAL_ENV is #F and END_OF_CHAIN is different for any
representation choice of #F.
Stephen Adams [Thu, 27 Jul 1995 00:20:04 +0000 (00:20 +0000)]
Use EMPTY_WEAK_CHAIN.
Stephen Adams [Thu, 27 Jul 1995 00:18:45 +0000 (00:18 +0000)]
New type-code assignments.
New encoding scheme for objects like #F, (), #T etc.
New PSB version.
Stephen Adams [Thu, 27 Jul 1995 00:12:36 +0000 (00:12 +0000)]
Split fixnum type-codes.
Stephen Adams [Thu, 27 Jul 1995 00:11:31 +0000 (00:11 +0000)]
Added option -empty-list-eq-false.
Stephen Adams [Thu, 27 Jul 1995 00:06:04 +0000 (00:06 +0000)]
New type-codes.
Stephen Adams [Wed, 26 Jul 1995 23:59:44 +0000 (23:59 +0000)]
Fixed to work with split fixnums: they are signed and have an
effective odd word length.
Stephen Adams [Wed, 26 Jul 1995 23:45:49 +0000 (23:45 +0000)]
Split fixnum type-codes.
Stephen Adams [Wed, 26 Jul 1995 23:42:24 +0000 (23:42 +0000)]
1. New FASL versions.
2. Used outf_error in place of fprintf
Stephen Adams [Wed, 26 Jul 1995 23:38:51 +0000 (23:38 +0000)]
Monster typo last version managed to duplicate most of the file.
Stephen Adams [Wed, 26 Jul 1995 23:29:50 +0000 (23:29 +0000)]
New type-codes.
Stephen Adams [Wed, 26 Jul 1995 23:27:53 +0000 (23:27 +0000)]
Changed for split fixnum tags.
Stephen Adams [Wed, 26 Jul 1995 23:23:38 +0000 (23:23 +0000)]
Added code to fix '() according to #F = '() or #F != '().
Stephen Adams [Wed, 26 Jul 1995 23:20:52 +0000 (23:20 +0000)]
New FASL versions for split fixnum typecodes.
Stephen Adams [Wed, 26 Jul 1995 23:18:37 +0000 (23:18 +0000)]
New constants based on new type-codes.
Allocate REGBLOCK entry for the empty list.
Stephen Adams [Wed, 26 Jul 1995 23:16:29 +0000 (23:16 +0000)]
Improved heuristic for identifying compiled code blocks.
Stephen Adams [Wed, 26 Jul 1995 23:03:33 +0000 (23:03 +0000)]
New version for split fixnum typecodes and #F != ().
Stephen Adams [Wed, 26 Jul 1995 22:47:25 +0000 (22:47 +0000)]
Use EMPTY_WEAK_CHAIN for weak pair chain instead of EMPTY_LIST.
Stephen Adams [Wed, 26 Jul 1995 21:38:19 +0000 (21:38 +0000)]
Bumped version number.
Stephen Adams [Wed, 26 Jul 1995 21:36:10 +0000 (21:36 +0000)]
New type-codes.
LINKER-TRAMPOLINE-GENERATOR slot in fixed objects vector.
Stephen Adams [Wed, 26 Jul 1995 21:20:23 +0000 (21:20 +0000)]
Added RC_COMP_LINK_CACHES_CONTINUE.
Stephen Adams [Wed, 26 Jul 1995 21:16:17 +0000 (21:16 +0000)]
Mostly reformatting.
Merged in changes in 7.4 since split fixnum type-codes.
Stephen Adams [Wed, 26 Jul 1995 21:07:44 +0000 (21:07 +0000)]
Added slot for trampoline generator.
Stephen Adams [Wed, 26 Jul 1995 21:06:15 +0000 (21:06 +0000)]
Added Debug_Stack_Trace and Debug_Print.
Stephen Adams [Wed, 26 Jul 1995 21:04:40 +0000 (21:04 +0000)]
Changed for #F/().
Stephen Adams [Wed, 26 Jul 1995 20:44:08 +0000 (20:44 +0000)]
Merged in changes for new compiler.
Stephen Adams [Wed, 26 Jul 1995 19:08:48 +0000 (19:08 +0000)]
Merged OS2 changes and new compiler changes.
OS2 changes tag external entry points with a calling convention (the C
compiler supports several).
New compiler changes:
Fixed continuation bug on i386. An incorrect continuation was being
left as garbage on the stack, where the i386 expected #f if the value
was expected to be discarded.
coerce_to_compiled now understands arity dispatched entities. There
are now several places where procedures are turned into trampolines.
These ought to be rationalized.
Fixed incorrect arity in coerce_to_compiled.
Fixed but with failure cases when applying a compiled procedure from
PRIMITIVE_APPLY from a compiled context.
These type-in (i.e. interpreted) test cases now all give correct and
parsable error stack frames:
. The original bug case (...->primitive APPLY->apply_compiled_from_primitive)
((access apply-2 (->environment '(runtime apply)))
make-list '(1 2 3 4 5 6 7 8 9 10))
. Primitive called from interpreted context (...->apply_compiled_procedure)
((make-primitive-procedure 'apply) make-list '(1 2 3 4 5 6 7 8 9 10))
. Compiled procedure called from interpreted context
(...->apply_compiled_procedure)
(make-list 1 2 3 4 5 6 7 8 9 10)
. Compiled procedure called from interpreted context
(...-> compiled funcall->short_circuit_apply_5->comutil_apply)
((access apply-2 (->environment '(runtime apply))) make-list '(1 2 3 4))
Stephen Adams [Wed, 26 Jul 1995 18:41:54 +0000 (18:41 +0000)]
New version for new compiler. Many changes due to new register
calling convention and preservation.
95/06/28
Fixed fixnum_lsh to compute correct values for negative shifts.
95/03/28
Fixed off-by-1 error at end of ADDIB chain at new_interrupt_common.
94/12/13
Tidied up generic arithmetic some more. Flonum allocation is now
`open-coded', trimming a few cycles of the operation.
Re-arranged the builtin table as some things had moved position.
94/12/12
. fixed generic multiply to do fixnum*fixnum case (it was calling the
handler procedure, reducing performance by a factor of 7).
. fixed generic multiply to return exact 0 when multiplying a flonum
by exact 0.
. tidied other generic operations
Stephen Adams [Wed, 26 Jul 1995 18:31:47 +0000 (18:31 +0000)]
Merged changes from OS2 and OS2 and new tag scheme.
Stephen Adams [Tue, 25 Jul 1995 16:45:29 +0000 (16:45 +0000)]
Attempt to fix Hal's SWAT+PPP problem.
Chris Hanson [Mon, 24 Jul 1995 22:08:39 +0000 (22:08 +0000)]
Fix bug in INSERT-DIRECTORY that caused Dired buffer to get scrambled
when using M-x dired-do-rename.
Stephen Adams [Mon, 24 Jul 1995 17:38:03 +0000 (17:38 +0000)]
Added constant folding and algebraic rewrites for some fixnum operations.
Stephen Adams [Mon, 24 Jul 1995 14:32:57 +0000 (14:32 +0000)]
Added CALL/OPERAND1 .. CALL/OPERAND3
Stephen Adams [Fri, 21 Jul 1995 14:37:35 +0000 (14:37 +0000)]
Removed a `(LOOKUP ,x) from the dbg info.
Stephen Adams [Fri, 21 Jul 1995 14:34:48 +0000 (14:34 +0000)]
Changed continuation types to be the same as in the debugging
information. Removed a few `(LOOKUP ,x) from the dbg-info.
Stephen Adams [Fri, 21 Jul 1995 14:28:53 +0000 (14:28 +0000)]
Lots of changes, mainly:
. Extending the language of paths to include primitives.
. Fixing the offsets for parameters
. Introducing sharing of the path expression elements
. Generating vector based paths rather than lists.
Stephen Adams [Thu, 20 Jul 1995 16:03:54 +0000 (16:03 +0000)]
Added primitives to the histogram KEY<? predicate.