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.
Chris Hanson [Wed, 19 Jul 1995 05:22:08 +0000 (05:22 +0000)]
Must use TYPE option with NAMED option.
Chris Hanson [Wed, 19 Jul 1995 05:16:29 +0000 (05:16 +0000)]
Change representation of random-state objects to allow them to be
saved and restored using fasdump/fasload.
Stephen Adams [Mon, 17 Jul 1995 20:10:43 +0000 (20:10 +0000)]
Implemented new version of the uncompressor. In addition to being
faster, this version avoids the use of FLUID-LETting global bindings
and a consequent re-entrancy bug.
Stephen Adams [Sun, 16 Jul 1995 22:28:06 +0000 (22:28 +0000)]
Changed to provide info-generation-2 with a map from compiled code
block constants to their offsets.
Stephen Adams [Sun, 16 Jul 1995 22:25:57 +0000 (22:25 +0000)]
Fixed unassigned variable in COMPILER:WRITE-LAP-FILE?
Stephen Adams [Sat, 15 Jul 1995 06:17:24 +0000 (06:17 +0000)]
Now we set the PROCEDURE field of an DBG-BLOCK environment
appropriately.
Michael R. Blair [Fri, 14 Jul 1995 04:04:42 +0000 (04:04 +0000)]
Initial revision
Stephen Adams [Fri, 14 Jul 1995 01:00:34 +0000 (01:00 +0000)]
Blew away old dbg info generation. Added code to `link' variable
access paths that have elements thata re labels or constants in the
compiled code block.
Stephen Adams [Thu, 13 Jul 1995 23:01:06 +0000 (23:01 +0000)]
*** empty log message ***
Stephen Adams [Thu, 13 Jul 1995 20:23:21 +0000 (20:23 +0000)]
Added map for locating compiled code block constants by offset.
Stephen Adams [Thu, 13 Jul 1995 04:00:09 +0000 (04:00 +0000)]
Fixed bug in BEGINNIFY.
Blew away LMAP.
Michael R. Blair [Thu, 13 Jul 1995 01:54:47 +0000 (01:54 +0000)]
Initial revision
Stephen Adams [Wed, 12 Jul 1995 21:10:07 +0000 (21:10 +0000)]
Added a sentence about structure option (print-procedure #F).
Stephen Adams [Wed, 12 Jul 1995 19:43:43 +0000 (19:43 +0000)]
Added `unspecific' to the end of the file so that it may be loaded
into an interpreted runtime band without causing an error from the
reference trap that was returned ast the value of the last expression.
Stephen Adams [Wed, 12 Jul 1995 14:22:40 +0000 (14:22 +0000)]
During output of constructor and loader source files, fluid-let
*UNPARSER-LIST-BREADTH-LIMIT* and *UNPARSER-LIST-DEPTH-LIMIT* to #F to
avoid illegal triuncated source code.
Stephen Adams [Wed, 12 Jul 1995 11:52:43 +0000 (11:52 +0000)]
Fix think-o in last change.
Chris Hanson [Tue, 11 Jul 1995 23:19:30 +0000 (23:19 +0000)]
Change interface with OS/TRIM-PATHNAME-STRING to pass that procedure a
second argument, which is the prefix string that is to be trimmed off.
Chris Hanson [Tue, 11 Jul 1995 23:10:49 +0000 (23:10 +0000)]
New implementation of OS/TRIM-PATHNAME-STRING takes second argument
(prefix to trim off) and tests to see if the prefix should be removed
or retained. This changes behavior in some unusual cases, but allows
the \\foo\bar notation to be used on DOS/OS2/NT.
Chris Hanson [Tue, 11 Jul 1995 23:09:20 +0000 (23:09 +0000)]
Change interface with OS/TRIM-PATHNAME-STRING to pass that procedure a
second argument, which is the prefix string that is to be trimmed off.
Chris Hanson [Tue, 11 Jul 1995 22:31:03 +0000 (22:31 +0000)]
Install kludge to handle \\foo\bar notation.
Chris Hanson [Tue, 11 Jul 1995 22:29:22 +0000 (22:29 +0000)]
Install kludge to handle \\foo\bar notation.
Chris Hanson [Tue, 11 Jul 1995 21:50:17 +0000 (21:50 +0000)]
Fix think-o in previous change.
Stephen Adams [Tue, 11 Jul 1995 21:42:10 +0000 (21:42 +0000)]
Forced left-to-right processing of subexpression so that recursive
compilations come out in source code order.
Stephen Adams [Tue, 11 Jul 1995 19:25:15 +0000 (19:25 +0000)]
Allow expression target of (NONE).
Michael R. Blair [Tue, 11 Jul 1995 02:03:43 +0000 (02:03 +0000)]
Initial revision
Michael R. Blair [Tue, 11 Jul 1995 00:27:56 +0000 (00:27 +0000)]
Initial revision
Stephen Adams [Mon, 10 Jul 1995 21:15:01 +0000 (21:15 +0000)]
Added a few colons to error messages because I spent five minutes
trying to understand a message that with the particular irritants
happened to mean meant something different without the colon.
Stephen Adams [Mon, 10 Jul 1995 03:14:58 +0000 (03:14 +0000)]
Adjusted the code that passes the `original form' around to the place
where the procedure is identified with its DBG-info:
. The intermediate parameters are now called DBG-FORM rather than FORM
or ORIG-FORM.
. Some care is taken to identify the correct lambda expression to pass
as the DBG-FORM.
Stephen Adams [Sat, 8 Jul 1995 15:01:34 +0000 (15:01 +0000)]
NEW-DBG-PROCEDURE now keeps the lambda-list implicitly in the SCode.
Stephen Adams [Sat, 8 Jul 1995 03:31:36 +0000 (03:31 +0000)]
Removed accidental copy of a procedure.
Stephen Adams [Fri, 7 Jul 1995 19:29:33 +0000 (19:29 +0000)]
Changed so that it re-orders vectors in the debugging information in
order to get stack offsets correct.
Stephen Adams [Fri, 7 Jul 1995 15:56:22 +0000 (15:56 +0000)]
Initial revision
Chris Hanson [Fri, 7 Jul 1995 06:37:24 +0000 (06:37 +0000)]
Change FILE-TIME->STRING to use a full year rather than just the last
two digits. RFC 822 specifies just two digits, but this has been
superseded by a later RFC.
Stephen Adams [Fri, 7 Jul 1995 03:54:19 +0000 (03:54 +0000)]
Don't optimize away (LET () ...) if the body of the let contains
declarations.
Chris Hanson [Thu, 6 Jul 1995 22:18:08 +0000 (22:18 +0000)]
Another try.
Chris Hanson [Thu, 6 Jul 1995 22:07:49 +0000 (22:07 +0000)]
Don't optimize away (LET () ...) if the body of the let contains
declarations.
Chris Hanson [Thu, 6 Jul 1995 22:07:23 +0000 (22:07 +0000)]
Fix typo that prevented the body of an IN-PACKAGE special form from
being treated like a BEGIN WRT declarations.
Stephen Adams [Thu, 6 Jul 1995 21:48:58 +0000 (21:48 +0000)]
Removed constraint on hook contiuations. The code produced is pretty
horrible but it works. When this happends and COMPILER:GURU? is #T a
warning is issued.
Stephen Adams [Thu, 6 Jul 1995 21:27:14 +0000 (21:27 +0000)]
Distribution-profiled & rearranged dispatch.