Chris Hanson [Tue, 14 Mar 1989 09:33:13 +0000 (09:33 +0000)]
Export `condition/message' for use in error-reporting handlers.
Chris Hanson [Tue, 14 Mar 1989 08:18:39 +0000 (08:18 +0000)]
Fix another trivial bug.
Chris Hanson [Tue, 14 Mar 1989 08:12:21 +0000 (08:12 +0000)]
Initial revision
Chris Hanson [Tue, 14 Mar 1989 08:04:03 +0000 (08:04 +0000)]
Initial working version for C-Scheme.
Chris Hanson [Tue, 14 Mar 1989 02:23:10 +0000 (02:23 +0000)]
Don't use vector-ref on result of file-attributes.
Chris Hanson [Tue, 14 Mar 1989 02:18:42 +0000 (02:18 +0000)]
*** empty log message ***
Chris Hanson [Tue, 14 Mar 1989 02:18:01 +0000 (02:18 +0000)]
Change `delete-file' to return #F if the file does not exist, instead
of signalling an error.
Chris Hanson [Tue, 14 Mar 1989 02:17:20 +0000 (02:17 +0000)]
Add new operations to support Edwin:
file-modes
set-file-modes!
unix/file-access
file-writable?
unix/current-uid
unix/current-gid
Chris Hanson [Tue, 14 Mar 1989 02:16:13 +0000 (02:16 +0000)]
Change `identify-world' to accept an output port as its optional
argument, rather than a cmdl.
Chris Hanson [Tue, 14 Mar 1989 01:59:28 +0000 (01:59 +0000)]
Various changes to support Edwin.
Chris Hanson [Tue, 14 Mar 1989 01:59:01 +0000 (01:59 +0000)]
Implement new primitives to support Edwin:
file-modes
set-file-modes!
file-access
current-uid
current-gid
Chris Hanson [Tue, 14 Mar 1989 01:57:33 +0000 (01:57 +0000)]
Initial revision
Chris Hanson [Tue, 14 Mar 1989 01:57:10 +0000 (01:57 +0000)]
Fix some random typos.
Chris Hanson [Fri, 10 Mar 1989 08:05:25 +0000 (08:05 +0000)]
Add rule for
(ASSIGN (BYTE-OFFSET (REGISTER (? address)) (? offset))
(REGISTER (? source)))
Chris Hanson [Tue, 7 Mar 1989 01:23:35 +0000 (01:23 +0000)]
*** empty log message ***
Chris Hanson [Tue, 7 Mar 1989 01:23:04 +0000 (01:23 +0000)]
Add handlers for other errors that can be signalled by
`environment-link-name'.
Chris Hanson [Tue, 7 Mar 1989 01:21:30 +0000 (01:21 +0000)]
Add `weak-memq'. Make compound car/cdr operations type-safe.
Chris Hanson [Mon, 6 Mar 1989 20:00:30 +0000 (20:00 +0000)]
Export new operations to global environment.
Chris Hanson [Mon, 6 Mar 1989 19:59:42 +0000 (19:59 +0000)]
Add new operations `with-cmdl/{in,out}put-port'.
Chris Hanson [Mon, 6 Mar 1989 19:59:05 +0000 (19:59 +0000)]
Add new operation `object-component-binder'.
Chris Hanson [Mon, 6 Mar 1989 19:58:24 +0000 (19:58 +0000)]
Add new operation `set-current-output-port!'.
Chris Hanson [Mon, 6 Mar 1989 19:57:44 +0000 (19:57 +0000)]
Add new operation `set-current-input-port!'.
Chris Hanson [Thu, 2 Mar 1989 02:16:55 +0000 (02:16 +0000)]
*** empty log message ***
Gerald Jay Sussman [Wed, 1 Mar 1989 00:16:30 +0000 (00:16 +0000)]
Add \n\ to end of each line in primitive procedure documentation
strings.
Chris Hanson [Tue, 28 Feb 1989 18:36:10 +0000 (18:36 +0000)]
*** empty log message ***
Chris Hanson [Tue, 28 Feb 1989 18:35:03 +0000 (18:35 +0000)]
Add "record" package from JAR.
Chris Hanson [Tue, 28 Feb 1989 18:34:09 +0000 (18:34 +0000)]
Initial revision
Chris Hanson [Tue, 28 Feb 1989 18:23:55 +0000 (18:23 +0000)]
Allow stored description of named structure to be either a defstruct
structure description, or a procedure. In the latter case the
procedure is just called to produce the description.
Chris Hanson [Tue, 28 Feb 1989 17:06:47 +0000 (17:06 +0000)]
*** empty log message ***
Chris Hanson [Tue, 28 Feb 1989 17:05:50 +0000 (17:05 +0000)]
Fencepost error in `zellers-congruence' caused day of week to be
incorrect in February.
Chris Hanson [Tue, 28 Feb 1989 16:49:52 +0000 (16:49 +0000)]
`proceed' from an error, with an argument, wasn't skipping the first
subproblem frame.
Chris Hanson [Fri, 24 Feb 1989 09:29:05 +0000 (09:29 +0000)]
*** empty log message ***
Chris Hanson [Fri, 24 Feb 1989 09:28:33 +0000 (09:28 +0000)]
Add support for X11 graphics on HP machines.
Chris Hanson [Fri, 24 Feb 1989 09:24:50 +0000 (09:24 +0000)]
Initial revision
Chris Hanson [Wed, 22 Feb 1989 07:16:34 +0000 (07:16 +0000)]
Don't treat data lists like combinations.
Guillermo J. Rozas [Sun, 19 Feb 1989 20:02:52 +0000 (20:02 +0000)]
Fix a problem whereby invalid C was generated when there were no primitives.
Guillermo J. Rozas [Sun, 19 Feb 1989 18:09:08 +0000 (18:09 +0000)]
Fix problem with duplicate definition of PI.
Guillermo J. Rozas [Sun, 19 Feb 1989 17:52:08 +0000 (17:52 +0000)]
Some changes to unix.c to remove most conditionalization by machine
and OS type. Most of the code is now conditionalized according to
flags like HAS_<mumble> or macros defined by the included files.
mul.c is now included by fixnum.c, and all the assembly language
versions have been moved to mul.c.
Guillermo J. Rozas [Fri, 17 Feb 1989 15:05:19 +0000 (15:05 +0000)]
Fix a declaration in Mul.
Guillermo J. Rozas [Wed, 15 Feb 1989 19:23:27 +0000 (19:23 +0000)]
Fix some documentation on flags, and add sun4 info.
Guillermo J. Rozas [Wed, 15 Feb 1989 18:47:04 +0000 (18:47 +0000)]
Improve mantissa bit computation so that it takes round-off into account.
Guillermo J. Rozas [Wed, 15 Feb 1989 03:29:34 +0000 (03:29 +0000)]
Some enhancements for floating alignment and error checking.
Guillermo J. Rozas [Tue, 14 Feb 1989 20:41:32 +0000 (20:41 +0000)]
Fix uninitialized variable bug.
Guillermo J. Rozas [Fri, 10 Feb 1989 23:37:59 +0000 (23:37 +0000)]
Fix within-continuation and rewrite invocation-method/reentrant to
perform the state space motion after the control throw.
Guillermo J. Rozas [Fri, 10 Feb 1989 23:35:57 +0000 (23:35 +0000)]
Add #@ to read back hashed objects.
Fix within-continuation and rewrite invocation-method/reentrant to
perform the state space motion after the control throw.
Guillermo J. Rozas [Fri, 10 Feb 1989 22:13:50 +0000 (22:13 +0000)]
Add #@ to read back hashed objects.
Chris Hanson [Thu, 9 Feb 1989 04:16:28 +0000 (04:16 +0000)]
Pretty-printer needs definition of `unparse-list/prefix-pair?' from
unparser.
Chris Hanson [Thu, 9 Feb 1989 03:48:44 +0000 (03:48 +0000)]
*** empty log message ***
Chris Hanson [Thu, 9 Feb 1989 03:45:36 +0000 (03:45 +0000)]
Unparser now treats QUASIQUOTE, UNQUOTE, and UNQUOTE-SPLICING
specially.
Chris Hanson [Wed, 8 Feb 1989 22:43:50 +0000 (22:43 +0000)]
`define-structure' macro should return the name of the structure which
was defined.
Chris Hanson [Mon, 30 Jan 1989 13:04:03 +0000 (13:04 +0000)]
Eliminate C compiler warning.
Chris Hanson [Sat, 21 Jan 1989 09:29:50 +0000 (09:29 +0000)]
Eliminate unreferenced variable warning.
Chris Hanson [Sat, 21 Jan 1989 09:23:03 +0000 (09:23 +0000)]
*** empty log message ***
Chris Hanson [Sat, 21 Jan 1989 09:22:17 +0000 (09:22 +0000)]
Define `combination/inline/simple?'.
Chris Hanson [Sat, 21 Jan 1989 09:21:37 +0000 (09:21 +0000)]
Add several new rules which are needed because of changes to the
expression simplifier in the RTL generator. Rewrite the rules for
handling string manipulation: the previous rules weren't complete or
accurate.
Chris Hanson [Sat, 21 Jan 1989 09:18:55 +0000 (09:18 +0000)]
Change the expression-simplification to generate temporaries for more
kinds of expressions. This provides more intermediate values for the
CSE to work on, allowing it to do a better job, but assumes that the
code compressor will eliminate them later.
Chris Hanson [Sat, 21 Jan 1989 09:16:27 +0000 (09:16 +0000)]
Implement more aggressive compression of the RTL, because the
intermediate swell caused by having one RTL instruction per bblock
object finally exceeded the available memory for a reasonable file.
The current solution, which compresses the instructions associated
with each FG node as they are generated, saves a considerable amount
of space.
Chris Hanson [Sat, 21 Jan 1989 09:12:29 +0000 (09:12 +0000)]
Open coding of primitives: flesh out the type and range checking,
which was previously a little spotty (e.g. general-car-cdr had no type
checking). Improve handling of `string-ref' and `string-set!' so that
they inline code in the computed index case. Flush inline coding of
`char->ascii', which was incorrect anyway since it didn't check to see
if the character was in the ASCII range.
Chris Hanson [Sat, 21 Jan 1989 09:09:28 +0000 (09:09 +0000)]
Change simplicity analysis: previously all inline coded combinations
were treated as simple, now there are some (e.g. generic arithmetic)
which are not. There is still a problem relating to type checking
which could cause problems: if a type or range check fails in an
otherwise simple inlined combination, the exception handling is not
simple. This should be fixed without making the entire combination
non-simple.
Chris Hanson [Sat, 21 Jan 1989 09:06:39 +0000 (09:06 +0000)]
Change CSE to record expressions as their values are pushed on the
stack; previously these expressions weren't recorded until their first
reference. Fix `insert-stack-destination!' which was not setting up
the quantity associated with a stack slot correctly. Fix stack model
which was not invalidating things correctly when pops occurred.
Change method for `invocation:special-primitive' to forget the
contents of all pseudo registers.
Chris Hanson [Wed, 18 Jan 1989 19:44:06 +0000 (19:44 +0000)]
Remove all dependencies on "rtlbase/rtlcon".
Chris Hanson [Wed, 18 Jan 1989 13:49:56 +0000 (13:49 +0000)]
Fix stupid typo in `increment-machine-register'.
Chris Hanson [Wed, 18 Jan 1989 09:58:56 +0000 (09:58 +0000)]
Add definitions of `address-units-per-object' and
`address-units-per-packed-char', which are more convenient numbers to
manipulate when doing index arithmetic.
Chris Hanson [Wed, 18 Jan 1989 04:04:07 +0000 (04:04 +0000)]
Fix bug in rule for this expression:
(ASSIGN (OFFSET (REGISTER (? a)) (? n)) (FIXNUM->OBJECT (REGISTER (? source))))
There was a non-obvious order of argument evaluation problem here.
Chris Hanson [Sat, 7 Jan 1989 01:25:15 +0000 (01:25 +0000)]
Bug in interaction of continuation-entry setup code and invocation of
primitive for which the continuation-entry was created: the push of
extra items (e.g. dynamic link) was happening before the arguments to
the primitive were stashed in registers. The result was that
arguments that depended on the stack pointer were gobbling up the
wrong stuff.
Chris Hanson [Sat, 7 Jan 1989 00:24:54 +0000 (00:24 +0000)]
Fix several bugs in the stack-frame->continuation unparser.
It now seems to work on compiled code as well.
Chris Hanson [Fri, 6 Jan 1989 23:01:21 +0000 (23:01 +0000)]
Fix bug in Z command. Change G command so that it doesn't needlessly
load debugging information for frames that aren't displayed.
Chris Hanson [Fri, 6 Jan 1989 22:25:08 +0000 (22:25 +0000)]
Extend V and Z commands to allow lookup of symbols in compiled code
environments.
Chris Hanson [Fri, 6 Jan 1989 22:24:05 +0000 (22:24 +0000)]
Redefine `debug/eval' so that it will lookup symbols in compiled code
environments. Remove call to `hook/repl-environment' which seems
unnecessary.
Chris Hanson [Fri, 6 Jan 1989 21:00:48 +0000 (21:00 +0000)]
Change handling of debugging information to match changes in compiler
version 4.37. Add facilities for accessing source code from debugging
info. Add where commands `p' and `s' to debugger, moving the old
commands bound to those keys. Change debugger display formats a bit.
Chris Hanson [Fri, 6 Jan 1989 20:51:12 +0000 (20:51 +0000)]
Change debugging output again; add slot to continuations and
procedures to hold pointer to original source code (SCode). Change
FG generator to save this information so it can be included in the
debugging output.
Change variable names in debugging information to record other facts:
Is the variable a cell? Is it integrated, and if so, what is its
value?
Chris Hanson [Thu, 5 Jan 1989 19:02:31 +0000 (19:02 +0000)]
`stack-address-offset' primitive had sign bug.
Chris Hanson [Sat, 31 Dec 1988 06:41:50 +0000 (06:41 +0000)]
Adjust for changes in continuation parser code.
Chris Hanson [Sat, 31 Dec 1988 06:39:18 +0000 (06:39 +0000)]
Fix site loading mechanism; previous try didn't work.
Chris Hanson [Sat, 31 Dec 1988 06:38:40 +0000 (06:38 +0000)]
Adjust frame display to look better on regular console.
Chris Hanson [Sat, 31 Dec 1988 06:05:10 +0000 (06:05 +0000)]
Add mechanism to allow normalization of directory prefixes. Add
"site" file mechanism to cold load to allow this to be performed in a
site-specific manner.
Chris Hanson [Sat, 31 Dec 1988 05:55:09 +0000 (05:55 +0000)]
Initial revision
Chris Hanson [Sat, 31 Dec 1988 05:52:59 +0000 (05:52 +0000)]
Add mechanism to allow normalization of directory prefixes. Add
"site" file mechanism to cold load to allow this to be performed in a
site-specific manner.
Chris Hanson [Fri, 30 Dec 1988 23:42:18 +0000 (23:42 +0000)]
Fix some bugs related to compiled code debugging when no debugging
info is available. Change cold load to cause updating of debugging
information for the runtime system. Fix demand loading so that, when
disabled, procedure names are shown when the debugging information is
already loaded. Discard debugging info before doing disk-save.
Chris Hanson [Fri, 30 Dec 1988 23:30:21 +0000 (23:30 +0000)]
Fix some bugs related to compiled code debugging when no debugging
info is available. Change cold load to cause updating of debugging
information for the runtime system. Fix demand loading so that, when
disabled, procedure names are shown when the debugging information is
already loaded. Discard debugging info before doing disk-save.
Chris Hanson [Fri, 30 Dec 1988 07:11:57 +0000 (07:11 +0000)]
Flesh out debugging information. This goes along with changes
introduced in runtime system version 14.31.
Chris Hanson [Fri, 30 Dec 1988 07:05:28 +0000 (07:05 +0000)]
Flesh out debugging information. This goes along with changes
introduced in runtime system version 14.31.
Chris Hanson [Fri, 30 Dec 1988 06:54:01 +0000 (06:54 +0000)]
Initial revision
Chris Hanson [Fri, 30 Dec 1988 06:44:04 +0000 (06:44 +0000)]
Extensive changes to utilize compiled code debugging information:
* The stack parser now knows how to parse individual compiled code
subproblem frames.
* The compiler-info package has been updated to match the new compiled
code info format.
* The environment abstraction has been generalized to handle compiled
code stack and closure frames, when debugging info is available to
describe them.
* The `debug' and `where' presentation formats have been adjusted
somewhat to allow compiled code information to be presented
reasonably.
* `debug' has been extended to provide the common `A' command from
`where'; there should be little need to invoke `where' from `debug'.
Chris Hanson [Thu, 29 Dec 1988 07:33:57 +0000 (07:33 +0000)]
Change definition of `compiled-entry-kind' for return addresses. Now,
the second element is a subtype: 0 means that the offset to the next
return address is fixed and known; 1 means that the next element on
the stack is a dynamic link, which points at the next return address;
and 2 means that this is the "return-to-interpreter" return address.
The third element is either a non-negative offset (for subtypes 0 and
2) or -1 (for subtype 1).
Chris Hanson [Wed, 28 Dec 1988 00:10:08 +0000 (00:10 +0000)]
Adjust floating point formats for pyramid.
Chris Hanson [Fri, 23 Dec 1988 21:39:10 +0000 (21:39 +0000)]
Don't bother putting out cref information for global and primitive
references. For a program like the compiler, these comprise about
half the total cref, and are of little use.
Chris Hanson [Fri, 23 Dec 1988 06:23:16 +0000 (06:23 +0000)]
Add `next-continuation-offset' slot, which is either the stack offset
to the next continuation, or false indicating that a dynamic link is
in use.
Chris Hanson [Fri, 23 Dec 1988 04:50:23 +0000 (04:50 +0000)]
Fix definition of `stack-top-address' to make it consistent with
definition of `object-datum' (which will be used to extract the
address value of a stack address). Implement new primitive
`stack-address-offset' which computes the offset (in objects) between
the stack-address argument and the top of stack.
Chris Hanson [Fri, 23 Dec 1988 04:32:55 +0000 (04:32 +0000)]
Fix definition of `stack-top-address' to make it consistent with
definition of `object-datum' (which will be used to extract the
address value of a stack address). Implement new primitive
`stack-address-offset' which computes the offset (in objects) between
the stack-address argument and the top of stack.
Chris Hanson [Tue, 20 Dec 1988 23:13:20 +0000 (23:13 +0000)]
If combination has a `continuation-push', prevent that continuation
from being pushed when the combination is constant folded in any way.
Chris Hanson [Mon, 19 Dec 1988 20:56:18 +0000 (20:56 +0000)]
*** empty log message ***
Chris Hanson [Mon, 19 Dec 1988 20:31:25 +0000 (20:31 +0000)]
Rewrite the handling of SCode quotation expressions to allow `car' to
be constant folded by the compiler.
Chris Hanson [Mon, 19 Dec 1988 20:27:47 +0000 (20:27 +0000)]
Rewrite the handling of SCode quotation expressions to allow `car' to
be constant folded by the compiler.
Chris Hanson [Mon, 19 Dec 1988 20:25:08 +0000 (20:25 +0000)]
Tweak popping-limits computation once again: the external block is not
necessarily one of the limits, and assuming that it is forces the use
of dynamic links in many common situations.
Chris Hanson [Mon, 19 Dec 1988 20:23:55 +0000 (20:23 +0000)]
Repackage constant folding code.
Chris Hanson [Mon, 19 Dec 1988 20:23:28 +0000 (20:23 +0000)]
Do not require `object-immutable?' of arguments to constant folding
operations. Because of the rule which says that constants appearing
in program text must be immutable, we can freely constant fold
anything that we can get our hands on, provided that we never constant
fold anything to does a cons-like operation.
Chris Hanson [Mon, 19 Dec 1988 20:21:51 +0000 (20:21 +0000)]
Add references such as `car' and `vector-length' to set of constant
foldable "functions".
Chris Hanson [Fri, 16 Dec 1988 16:19:21 +0000 (16:19 +0000)]
Delete reference to `block-frame', which has been made obsolete.
Chris Hanson [Fri, 16 Dec 1988 13:37:12 +0000 (13:37 +0000)]
Add hooks for debugging info.