Chris Hanson [Sat, 13 Jun 1987 20:45:51 +0000 (20:45 +0000)]
Missing whitespace.
Chris Hanson [Sat, 13 Jun 1987 20:17:39 +0000 (20:17 +0000)]
Change contents of `*ic-procedure-headers*' so that it can be
fasdumped.
Chris Hanson [Sat, 13 Jun 1987 20:16:51 +0000 (20:16 +0000)]
Restructure packaging to eliminate explicit make-environment in
"regmap".
Chris Hanson [Sat, 13 Jun 1987 19:41:12 +0000 (19:41 +0000)]
Restructure packaging to eliminate explicit make-environment in
"regmap".
Chris Hanson [Sat, 13 Jun 1987 03:01:28 +0000 (03:01 +0000)]
Decisions to use variable cache mechanism are raised to a higher level
to allow special handling of IC procedure references.
Chris Hanson [Sat, 13 Jun 1987 00:14:10 +0000 (00:14 +0000)]
When counting the operands of a combination, do not include operands
which do not push any values. This means that `length' is not
adequate for computing the number of operands. Instead use the new
procedure `count-operands'.
Chris Hanson [Fri, 12 Jun 1987 21:51:10 +0000 (21:51 +0000)]
When generating code for combinations whose operator is known, use
original parameters to that procedure to determine which operands must
be pushed.
Chris Hanson [Thu, 11 Jun 1987 22:22:41 +0000 (22:22 +0000)]
Fix bugs in signalling of interrupts through the compiled code
interface to the lookup code.
Chris Hanson [Thu, 11 Jun 1987 21:51:44 +0000 (21:51 +0000)]
Handle pathological error codes in `Do_Micro_Error'.
Chris Hanson [Thu, 11 Jun 1987 21:30:21 +0000 (21:30 +0000)]
Pass error-code to error handlers as well as expression, since some
error handlers need to know this.
Chris Hanson [Thu, 11 Jun 1987 20:48:14 +0000 (20:48 +0000)]
`generate-invocation-prefix' now knows not to reallocate fixed
register arguments to invocations. In particular,
`cache-reference-apply' accepts A3 as an argument, and under certain
circumstances that register was being allocated as a temporary for the
`move-frame-up' invocation.
Chris Hanson [Thu, 11 Jun 1987 20:44:20 +0000 (20:44 +0000)]
Add `need-registers!' operation.
Guillermo J. Rozas [Wed, 10 Jun 1987 21:22:36 +0000 (21:22 +0000)]
This commit was generated by cvs2svn to compensate for changes in r458,
which included commits to RCS files with non-trunk default branches.
Guillermo J. Rozas [Wed, 10 Jun 1987 21:22:36 +0000 (21:22 +0000)]
Add original bindings for transformers.
Chris Hanson [Wed, 10 Jun 1987 19:48:46 +0000 (19:48 +0000)]
For `move-frame-up' invocation prefix, zero frame-size does not
indicate that nothing need be done.
Chris Hanson [Tue, 9 Jun 1987 19:59:29 +0000 (19:59 +0000)]
Split some files up for compilation.
Chris Hanson [Tue, 9 Jun 1987 19:56:56 +0000 (19:56 +0000)]
Initial revision
Chris Hanson [Tue, 9 Jun 1987 19:56:30 +0000 (19:56 +0000)]
Split into pieces for compilation.
Chris Hanson [Tue, 9 Jun 1987 18:50:05 +0000 (18:50 +0000)]
Fix bug in assignment to compiler cached variables.
Chris Hanson [Mon, 8 Jun 1987 14:50:15 +0000 (14:50 +0000)]
`load-dnw' returns a single instruction, not a list.
Chris Hanson [Fri, 5 Jun 1987 21:36:53 +0000 (21:36 +0000)]
Must treat error-combination specially here to prevent block from
being marked unsafe.
Chris Hanson [Fri, 5 Jun 1987 20:56:37 +0000 (20:56 +0000)]
Define new type code for compiled code blocks to guarantee that they
are not put in pure space.
Chris Hanson [Fri, 5 Jun 1987 20:41:54 +0000 (20:41 +0000)]
Fix stupid bug where files were not fasloaded in `load-system!'.
Chris Hanson [Fri, 5 Jun 1987 19:55:06 +0000 (19:55 +0000)]
Renamed variable.
Chris Hanson [Fri, 5 Jun 1987 18:04:01 +0000 (18:04 +0000)]
Define new type code for compiled code blocks to guarantee that they
are not put in pure space.
Chris Hanson [Fri, 5 Jun 1987 18:02:50 +0000 (18:02 +0000)]
New microcode handles purification of compiled code blocks without
special treatment by the runtime system.
Chris Hanson [Fri, 5 Jun 1987 17:29:53 +0000 (17:29 +0000)]
Define new type code for compiled code blocks to guarantee that they
are not put in pure space.
Chris Hanson [Fri, 5 Jun 1987 17:23:11 +0000 (17:23 +0000)]
Define new type code for compiled code blocks to guarantee that they
are not put in pure space.
Chris Hanson [Fri, 5 Jun 1987 16:28:08 +0000 (16:28 +0000)]
Do not put compiled code into pure space, just constant space. This
is a temporary hack until the microcode is fixed to recognize compiled
code blocks specially.
Chris Hanson [Fri, 5 Jun 1987 16:25:42 +0000 (16:25 +0000)]
Change definition and name of compiler address operations so that they
work on all kinds of compiled code addresses.
Guillermo J. Rozas [Fri, 5 Jun 1987 04:16:55 +0000 (04:16 +0000)]
Fix a long standing bug in fasdump, fasload, band-dump, and band-load.
If a file write fails, a scheme error is reported. Similarly if a
read fails.
Chris Hanson [Thu, 4 Jun 1987 21:08:49 +0000 (21:08 +0000)]
Fix `unfold-and-reverse-rib' so that it properly handles both kinds of
dummy compiler reductions. Previously it was only handling those that
were generated by `New_Compiler_Subproblem' in the microcode.
Chris Hanson [Thu, 4 Jun 1987 15:56:01 +0000 (15:56 +0000)]
Add support for multiple cache-variable entries.
Chris Hanson [Thu, 4 Jun 1987 00:07:18 +0000 (00:07 +0000)]
Initial revision
Chris Hanson [Thu, 4 Jun 1987 00:02:13 +0000 (00:02 +0000)]
Add error handlers for compiled code unbound/unassigned variable
errors during lookup-apply operations.
Chris Hanson [Wed, 3 Jun 1987 20:59:23 +0000 (20:59 +0000)]
New primitive `return-address-block'.
Alias `return-code' for `return-address'.
Chris Hanson [Wed, 3 Jun 1987 19:57:42 +0000 (19:57 +0000)]
Create multiple cache-variable entries in the compiled code interface.
Guillermo J. Rozas [Tue, 2 Jun 1987 23:44:38 +0000 (23:44 +0000)]
Bug in dumpworld.
Chris Hanson [Tue, 2 Jun 1987 21:19:34 +0000 (21:19 +0000)]
Change the frame-size for invocation:lookup to indicate the size of
the frame at application time rather than when it executes the
instruction.
Chris Hanson [Tue, 2 Jun 1987 18:49:05 +0000 (18:49 +0000)]
Optimize code being emitted for lookup-apply.
Chris Hanson [Tue, 2 Jun 1987 18:44:05 +0000 (18:44 +0000)]
Combination should be added to vnode-combinations of the operator
vnode, if any. Previously it was added to vnode-combinations of the
combination-value, completely incorrect.
Chris Hanson [Tue, 2 Jun 1987 13:24:17 +0000 (13:24 +0000)]
Change unsyntaxing of `error' and `bkpt', which now use absolute
references for the combination operator.
Chris Hanson [Tue, 2 Jun 1987 13:13:29 +0000 (13:13 +0000)]
Change `error' and `bkpt' macros to use absolute references for the
operator of the expansion.
Chris Hanson [Tue, 2 Jun 1987 12:35:17 +0000 (12:35 +0000)]
Fix bugs in compiled code interface variable cache code.
Chris Hanson [Tue, 2 Jun 1987 11:35:46 +0000 (11:35 +0000)]
Fix bugs in rule for `invocation:cache-reference'.
Chris Hanson [Tue, 2 Jun 1987 11:34:59 +0000 (11:34 +0000)]
Simplify `extension' argument to invocation:cache-reference.
Chris Hanson [Tue, 2 Jun 1987 11:26:07 +0000 (11:26 +0000)]
`history-transform' was returning '() at the end of a chain of
subproblems, instead of the value of `the-empty-history'. This caused
the debugger to signal an error when walking past the end of the
history.
Chris Hanson [Tue, 2 Jun 1987 11:24:27 +0000 (11:24 +0000)]
Change unsyntaxing of conditionals to handle case of (if (not x) y)
correctly.
Guillermo J. Rozas [Tue, 2 Jun 1987 08:43:02 +0000 (08:43 +0000)]
Treat weak pairs correctly.
Guillermo J. Rozas [Tue, 2 Jun 1987 00:17:51 +0000 (00:17 +0000)]
Add fasdump and purify to bchscheme.
Chris Hanson [Mon, 1 Jun 1987 21:06:08 +0000 (21:06 +0000)]
Implement rule for invocation:cache-reference.
Chris Hanson [Mon, 1 Jun 1987 21:05:25 +0000 (21:05 +0000)]
Install better code for lookup-apply in the cached-variable case. Do
in-line coding of reference-trap type test.
Chris Hanson [Mon, 1 Jun 1987 20:31:53 +0000 (20:31 +0000)]
Canonicalize the destination of a memory assignment statement.
Rewrite the top level graph walker to mark nodes so that each node is
walked exactly once. Optimize the walking algorithm to reduce copying
of the state to a minimum.
Chris Hanson [Mon, 1 Jun 1987 20:30:23 +0000 (20:30 +0000)]
Make copy of assignment to cell of cached variable assignment.
Otherwise the CSE cannot optimize because the assignment occurs at the
join of two control paths.
Chris Hanson [Mon, 1 Jun 1987 20:29:50 +0000 (20:29 +0000)]
Make copy of assignment to value of cached variable reference.
Otherwise the CSE cannot optimize because the assignment occurs at the
join of two control paths.
Chris Hanson [Mon, 1 Jun 1987 16:59:52 +0000 (16:59 +0000)]
Compiler variable cache initialization routines accept the offset of
the constant slot as a memory offset (in objects) rather than as a
vector index.
Chris Hanson [Mon, 1 Jun 1987 16:10:21 +0000 (16:10 +0000)]
Extend `rtl:expression-cost' to know about `variable-cache'
expression.
Chris Hanson [Mon, 1 Jun 1987 16:09:21 +0000 (16:09 +0000)]
Define rules for cached variable reference RTL forms.
Chris Hanson [Mon, 1 Jun 1987 16:08:23 +0000 (16:08 +0000)]
Change interpreter-call:cache-reference to extract the type of the
cache reference before testing it. For cached variable compilations,
do not include ic environments in the closure, it is already in the
compiled code block.
Chris Hanson [Mon, 1 Jun 1987 16:06:11 +0000 (16:06 +0000)]
Change interpreter-call:cache-assignment to extract the type of the
cache reference before testing it.
Chris Hanson [Mon, 1 Jun 1987 16:04:25 +0000 (16:04 +0000)]
Change interpreter-call:cache-assignment/reference/unassigned? to
CSE their "name" argument.
Chris Hanson [Mon, 1 Jun 1987 16:03:38 +0000 (16:03 +0000)]
Change interpreter-call:cache-assignment/reference/unassigned? to
simplify their "name" argument during construction.
Chris Hanson [Mon, 1 Jun 1987 11:21:41 +0000 (11:21 +0000)]
Teach `expression->machine-register!' about (UNASSIGNED) expression.
Chris Hanson [Mon, 1 Jun 1987 11:20:22 +0000 (11:20 +0000)]
Finish changing `rtl:make-constant' so that it notices SCode
unassigned objects.
Chris Hanson [Sun, 31 May 1987 23:00:30 +0000 (23:00 +0000)]
Add new RTL types for cached variable lookup mechanism.
Chris Hanson [Sun, 31 May 1987 22:57:55 +0000 (22:57 +0000)]
Change lookup-apply code to use variable cache when appropriate.
Chris Hanson [Sun, 31 May 1987 22:56:05 +0000 (22:56 +0000)]
Add new RTL types for cached variable lookup mechanism. Change
constructor for constants to know about unassigned object.
Chris Hanson [Sun, 31 May 1987 16:57:54 +0000 (16:57 +0000)]
Add several new compiled-code entry points with return addresses.
Chris Hanson [Sun, 31 May 1987 16:37:51 +0000 (16:37 +0000)]
Add several new compiled-code entry points with return addresses.
Chris Hanson [Sun, 31 May 1987 16:32:57 +0000 (16:32 +0000)]
Redefine the Non_Object so that it is interned between bands.
Chris Hanson [Sun, 31 May 1987 14:14:21 +0000 (14:14 +0000)]
Add parameter describing where IC frame parameters are located within
the frame.
Guillermo J. Rozas [Sat, 30 May 1987 23:05:31 +0000 (23:05 +0000)]
Sun floating arithmetic bug fixed.
Guillermo J. Rozas [Sat, 30 May 1987 23:04:34 +0000 (23:04 +0000)]
Sun floating arithmetic fixed.
Chris Hanson [Fri, 29 May 1987 21:23:28 +0000 (21:23 +0000)]
Split entry points block into two sections to make it compatible with
previous version.
Chris Hanson [Fri, 29 May 1987 17:57:40 +0000 (17:57 +0000)]
Add stuff for variable cache entry points to interpreter.
Chris Hanson [Fri, 29 May 1987 17:45:38 +0000 (17:45 +0000)]
Change compiler entry points to account for new microcode with
variable cacheing entries. Change `indirect-reference!' to allow the
address part of an indirect register to reside in its home.
Guillermo J. Rozas [Fri, 29 May 1987 17:40:27 +0000 (17:40 +0000)]
Undefined procedure.
Chris Hanson [Fri, 29 May 1987 17:06:51 +0000 (17:06 +0000)]
Add new return codes for compiled code interface variable cache.
Chris Hanson [Fri, 29 May 1987 16:51:05 +0000 (16:51 +0000)]
*** empty log message ***
Chris Hanson [Fri, 29 May 1987 16:49:07 +0000 (16:49 +0000)]
Give better error message for badly formed pattern in `named-lambda'.
Chris Hanson [Fri, 29 May 1987 13:31:58 +0000 (13:31 +0000)]
In `unsyntax-shallow-FLUID-LET', turn lambda body into list of actions
before mapping over it.
Guillermo J. Rozas [Fri, 29 May 1987 02:25:04 +0000 (02:25 +0000)]
Changes to make fast variable reference in compiled code work:
- New traps (TRAP_COMPILER_CACHED and dangerous).
- Support in lookup and interpret.
- Change to fasdump to generalize the fixed utility kludge.
Chris Hanson [Thu, 28 May 1987 17:59:24 +0000 (17:59 +0000)]
Do not cache assignments from a machine register to a pseudo register.
Chris Hanson [Thu, 28 May 1987 17:58:38 +0000 (17:58 +0000)]
*** empty log message ***
Chris Hanson [Thu, 28 May 1987 17:39:18 +0000 (17:39 +0000)]
In `symbol-table-bindings', return alist of values rather than binding
objects.
Chris Hanson [Thu, 28 May 1987 16:46:45 +0000 (16:46 +0000)]
Add extra operation to extract bindings from symbol table.
Chris Hanson [Thu, 28 May 1987 16:09:22 +0000 (16:09 +0000)]
Fix randomness in switch statements for wrong_type_arg and
bad_range_arg.
Chris Hanson [Thu, 28 May 1987 16:07:58 +0000 (16:07 +0000)]
Add entry points for variable caches and uuo links.
Guillermo J. Rozas [Thu, 28 May 1987 12:22:46 +0000 (12:22 +0000)]
Add JAR's changes for VMS.
Guillermo J. Rozas [Thu, 28 May 1987 00:53:01 +0000 (00:53 +0000)]
Initial revision
Guillermo J. Rozas [Thu, 28 May 1987 00:49:25 +0000 (00:49 +0000)]
Cosmetic change to boot.c, some cleaning up of hardware trap code in unix.c.
Guillermo J. Rozas [Thu, 28 May 1987 00:45:29 +0000 (00:45 +0000)]
Newline missing in end of computation termination.
Chris Hanson [Wed, 27 May 1987 18:36:40 +0000 (18:36 +0000)]
Guarantee that interpreter-call result registers are referenced
immediately after the interpreter-call occurs. Otherwise the lap
generator may reallocate them to some other purpose.
Chris Hanson [Wed, 27 May 1987 14:58:22 +0000 (14:58 +0000)]
Interrupts that are out of range are now signalled through the last
slot in the interrupt vector.
Chris Hanson [Wed, 27 May 1987 14:50:43 +0000 (14:50 +0000)]
Interrupts that are out of range are now signalled through the last
slot in the interrupt vector.
Chris Hanson [Tue, 26 May 1987 18:59:59 +0000 (18:59 +0000)]
Split file into two pieces.
Chris Hanson [Tue, 26 May 1987 14:47:22 +0000 (14:47 +0000)]
Record pop in these rules.
Guillermo J. Rozas [Tue, 26 May 1987 13:29:58 +0000 (13:29 +0000)]
Patch because primitive-datum is broken.
Chris Hanson [Tue, 26 May 1987 13:24:56 +0000 (13:24 +0000)]
Add error check for positive arguments to signed integer coercion.
Guillermo J. Rozas [Sat, 23 May 1987 14:31:17 +0000 (14:31 +0000)]
Add PRIMITIVE_ABORT.