Chris Hanson [Thu, 7 May 1987 04:36:15 +0000 (04:36 +0000)]
The receiver-offset for message senders was including the pushed
operands of a call. Since we are now using a frame pointer, it need
only include the block frame size. The pushed operands will be taken
care of by the LAP generator.
Chris Hanson [Thu, 7 May 1987 00:26:03 +0000 (00:26 +0000)]
Rewrite of RTL generator to new structure, now using frame pointer
instead of stack pointer for frame references.
Chris Hanson [Thu, 7 May 1987 00:24:20 +0000 (00:24 +0000)]
Add frame-pointer register.
Chris Hanson [Thu, 7 May 1987 00:23:08 +0000 (00:23 +0000)]
Initial revision
Chris Hanson [Thu, 7 May 1987 00:22:05 +0000 (00:22 +0000)]
Rewrite of RTL generator. Flush `next-generator' mechanism, use
multiple value return and explicit gluing of CFGs. Flush offset
argument, use frame-pointer instead; offset will be computed at LAP
generation time.
Chris Hanson [Thu, 7 May 1987 00:18:15 +0000 (00:18 +0000)]
Implement changes required by conversion of RTL generator to use of
frame pointer. Flush all special stack modeling.
Chris Hanson [Thu, 7 May 1987 00:12:20 +0000 (00:12 +0000)]
Implement `boolean=?'.
Chris Hanson [Thu, 7 May 1987 00:11:33 +0000 (00:11 +0000)]
Add frame-pointer register.
Chris Hanson [Thu, 7 May 1987 00:10:45 +0000 (00:10 +0000)]
*** empty log message ***
Chris Hanson [Thu, 7 May 1987 00:10:04 +0000 (00:10 +0000)]
Add `frame-pointer-offset' slot to all rnodes, for use by
lap-generator so it can convert frame pointer references into
stack-pointer references.
Chris Hanson [Thu, 7 May 1987 00:09:08 +0000 (00:09 +0000)]
Split off application of result from main body of matcher to
facilitate timing measurements.
Chris Hanson [Thu, 7 May 1987 00:06:42 +0000 (00:06 +0000)]
Change dependencies to account for reorganization of RTL generator
into several files.
Chris Hanson [Thu, 7 May 1987 00:05:52 +0000 (00:05 +0000)]
Delete `continuation-delta'. Add `continuation-frame-pointer-offset'
for use by new frame-pointer code.
Chris Hanson [Thu, 7 May 1987 00:04:58 +0000 (00:04 +0000)]
Implement CFG combinators that are generic in the latter argument.
Chris Hanson [Wed, 6 May 1987 04:54:08 +0000 (04:54 +0000)]
If a lambda expression was traced twice, it was being added to the
advice population twice, despite the fact that it was already there.
However, only one copy of the trace advice would be installed. Then,
do untrace would cause a failure because the second time that the
lambda expression was looked at it would contain no advice of that type.
Chris Hanson [Mon, 4 May 1987 23:52:57 +0000 (23:52 +0000)]
Implement special handling for variables of the form
(ACCESS <name> #F)
These are integrated regardless of the declarations given for the
program.
Also fix bug in `integrate/reference-operator' which caused the
optimizer to hang in a loop.
Chris Hanson [Mon, 4 May 1987 23:50:20 +0000 (23:50 +0000)]
Implement special handling for variables of the form
(ACCESS <name> #F)
These are integrated regardless of the declarations given for the
program.
Chris Hanson [Sun, 3 May 1987 20:39:41 +0000 (20:39 +0000)]
Split off expression stuff.
Chris Hanson [Sun, 3 May 1987 20:39:08 +0000 (20:39 +0000)]
Initial revision
Chris Hanson [Thu, 30 Apr 1987 22:56:49 +0000 (22:56 +0000)]
In `Keyboard_Input_Procedure', the test for interrupts just before
calling `getchar' was only looking for `INT_Character'. Expand this
to include `INT_Timer' as well, since that was causing a problem for
Mitch Resnick. Why is this restricting which interrupts it looks at?
A priori, I would think it should look at all interrupts.
Chris Hanson [Wed, 29 Apr 1987 21:53:04 +0000 (21:53 +0000)]
Split off handling of primitive combinations to another file.
Chris Hanson [Wed, 29 Apr 1987 20:12:20 +0000 (20:12 +0000)]
Change profile recording hook to use 32 bit C long arithmetic rather
than 24 bit fixnum arithmetic.
Chris Hanson [Wed, 29 Apr 1987 19:46:39 +0000 (19:46 +0000)]
Change profile recording hook to use 32 bit C long arithmetic rather
than 24 bit fixnum arithmetic.
Chris Hanson [Wed, 29 Apr 1987 15:50:43 +0000 (15:50 +0000)]
Define hook for recording primitive profiling information.
Chris Hanson [Wed, 29 Apr 1987 15:41:59 +0000 (15:41 +0000)]
Define variables to contain maximum primitive numbers.
Chris Hanson [Wed, 29 Apr 1987 15:39:14 +0000 (15:39 +0000)]
Cause generated fixed objects vector to have some extra slots for
expansion and debugging purposes.
Chris Hanson [Wed, 29 Apr 1987 13:51:11 +0000 (13:51 +0000)]
Add hook for primitive procedure profiling.
Chris Hanson [Wed, 29 Apr 1987 13:19:32 +0000 (13:19 +0000)]
Add PRIMITIVE-PROFILING-TABLE slot to fixed objects vector.
Chris Hanson [Tue, 28 Apr 1987 16:38:00 +0000 (16:38 +0000)]
Add slot for table to contain profiling information for primitives.
Chris Hanson [Tue, 28 Apr 1987 16:29:33 +0000 (16:29 +0000)]
Initialize `ENABLE_PRIMITIVE_PROFILING' flag when debugging features
are selected.
Chris Hanson [Mon, 27 Apr 1987 21:45:33 +0000 (21:45 +0000)]
Fix bug in copying of declarations, where variable was passed to
`block/lookup-name' rather than the variable's name.
Chris Hanson [Mon, 27 Apr 1987 20:26:11 +0000 (20:26 +0000)]
Turn on integration dependencies that were commented out here.
Chris Hanson [Mon, 27 Apr 1987 20:25:33 +0000 (20:25 +0000)]
Add integration dependency between the bobcat machine instruction
definition files.
Chris Hanson [Mon, 27 Apr 1987 20:11:22 +0000 (20:11 +0000)]
Do not use the "load" package any longer. Defaultly load some
compiled files.
Chris Hanson [Mon, 27 Apr 1987 17:33:22 +0000 (17:33 +0000)]
Flush junk to put compiled code in constant space rather than pure
space. New compiler doesn't need that.
Chris Hanson [Mon, 27 Apr 1987 16:28:49 +0000 (16:28 +0000)]
Change `apply-stack' prefix to subtract 1 from the n-levels, because
the innermost stack frame does not have a message receiver pushed.
Chris Hanson [Mon, 27 Apr 1987 14:21:48 +0000 (14:21 +0000)]
`make-non-pointer-literal' was not being careful to handle negative
`datum' values correctly, resulting in the type code of the literal
being off by one.
Chris Hanson [Sat, 25 Apr 1987 20:27:27 +0000 (20:27 +0000)]
Install new primitives for vectors and bit strings.
Chris Hanson [Sat, 25 Apr 1987 20:26:27 +0000 (20:26 +0000)]
Install new primitives.
Chris Hanson [Sat, 25 Apr 1987 20:24:49 +0000 (20:24 +0000)]
Initial revision
Chris Hanson [Sat, 25 Apr 1987 20:19:20 +0000 (20:19 +0000)]
Install new built-in primitives for microcode 9.46.
Chris Hanson [Sat, 25 Apr 1987 20:06:59 +0000 (20:06 +0000)]
Add new primitives for microcode 9.46.
Guillermo J. Rozas [Sat, 25 Apr 1987 09:45:17 +0000 (09:45 +0000)]
Fix IO redirection bug.
Chris Hanson [Fri, 24 Apr 1987 14:17:28 +0000 (14:17 +0000)]
Change rules database so that it is sorted by statement-type. Treat
ASSIGN specially since it is by far the most common type.
Chris Hanson [Fri, 24 Apr 1987 14:15:53 +0000 (14:15 +0000)]
Change state implementation so that register quantities are allocated
on demand.
Chris Hanson [Fri, 24 Apr 1987 13:37:27 +0000 (13:37 +0000)]
Change stack parser, unparser, and pretty-printer to handle
reference-trap objects specially, detecting them before they get
assigned to variables, and printing them in a reasonable way.
Chris Hanson [Wed, 22 Apr 1987 10:09:28 +0000 (10:09 +0000)]
Rewrite `hash-table-copy' so that it is O(n) instead of O(n^2) in the
number of elements.
Chris Hanson [Wed, 22 Apr 1987 09:45:57 +0000 (09:45 +0000)]
Forgot to add "rtlcon" and "rtlexp" to the integration dependency set.
Chris Hanson [Tue, 21 Apr 1987 23:52:08 +0000 (23:52 +0000)]
Change structure of closing block to aid compilation.
Chris Hanson [Tue, 21 Apr 1987 23:51:35 +0000 (23:51 +0000)]
Split `front-end/rtl' into two files to aid compilation.
Chris Hanson [Tue, 21 Apr 1987 23:50:17 +0000 (23:50 +0000)]
Initial revision
Chris Hanson [Tue, 21 Apr 1987 23:39:56 +0000 (23:39 +0000)]
A variety of small changes related to the GC out of space error.
Chris Hanson [Tue, 21 Apr 1987 16:57:05 +0000 (16:57 +0000)]
Allow constant combinations to have any temporary as a target.
Chris Hanson [Tue, 21 Apr 1987 15:22:08 +0000 (15:22 +0000)]
Change string_to_symbol to compute the correct argument to
Primitive_GC. Previously it was using (Memtop - Free) which could
have been negative (and we saw at least one case where something like
that had happened).
Chris Hanson [Tue, 21 Apr 1987 15:02:02 +0000 (15:02 +0000)]
Change some error messages to go out to stderr.
Chris Hanson [Tue, 21 Apr 1987 15:01:18 +0000 (15:01 +0000)]
Cause all GCs to return through the return code RC_NORMAL_GC_DONE.
Chris Hanson [Tue, 21 Apr 1987 15:00:46 +0000 (15:00 +0000)]
Initialize `GC_Space_Needed' to a reasonable value.
Chris Hanson [Tue, 21 Apr 1987 14:54:50 +0000 (14:54 +0000)]
Cause all GCs to return through the return code RC_NORMAL_GC_DONE.
Chris Hanson [Tue, 21 Apr 1987 14:29:17 +0000 (14:29 +0000)]
Define new per-combination flag which indicates whether or not the
combination has been constant-folded.
Chris Hanson [Tue, 21 Apr 1987 14:23:43 +0000 (14:23 +0000)]
Solution to constant folding problem is overly conservative. Earlier
change (which guaranteed that the combination-value became unknown
when the operator or operands were) is sufficient.
Guillermo J. Rozas [Mon, 20 Apr 1987 12:30:20 +0000 (12:30 +0000)]
Update the version: release.
Guillermo J. Rozas [Mon, 20 Apr 1987 12:27:22 +0000 (12:27 +0000)]
Update the version: release.
Chris Hanson [Sat, 18 Apr 1987 00:26:35 +0000 (00:26 +0000)]
When building a closure frame, do not attempt to lookup variables
which are integrated, as it will cause an error. This is probably not
needed given the change which has been made elsewhere which deletes
such variables from the closure block previous to this point.
Chris Hanson [Sat, 18 Apr 1987 00:22:35 +0000 (00:22 +0000)]
Change the analysis performed to determine whether a variable has been
assigned. Do not treat auxiliary bindings specially, except those
that have been identified as having constant or procedure values.
This unfortunately produces less efficient code, but guarantees that
there will be no troubles with the order of events when creating
closures.
Chris Hanson [Sat, 18 Apr 1987 00:18:35 +0000 (00:18 +0000)]
If a combination's value is constant, do not replace it by the
constant value, because we have no side-effect analyzer to determine
whether that is safe.
Chris Hanson [Sat, 18 Apr 1987 00:15:53 +0000 (00:15 +0000)]
`goto-command', when selecting a subproblem with no reductions, tried
to set the reduction number to 1, rather than 0. This previously
"worked" because
(list-ref '() 1) ==> '()
instead of signalling an error as it now does.
Guillermo J. Rozas [Fri, 17 Apr 1987 15:56:08 +0000 (15:56 +0000)]
Accommodate VMS (bug in VMS 4 scanf).
Chris Hanson [Fri, 17 Apr 1987 10:55:42 +0000 (10:55 +0000)]
*** empty log message ***
Chris Hanson [Fri, 17 Apr 1987 10:55:17 +0000 (10:55 +0000)]
Add new rules for cases which arise when dead-code-elimination phase
is not performed.
Chris Hanson [Fri, 17 Apr 1987 10:53:25 +0000 (10:53 +0000)]
Initial revision
Chris Hanson [Fri, 17 Apr 1987 10:52:41 +0000 (10:52 +0000)]
Split into three files to aid in compilation.
Chris Hanson [Fri, 17 Apr 1987 10:21:49 +0000 (10:21 +0000)]
Two bugs:
1. When searching the formals list in `extend_frame', the variable
`scan' was not being incremented.
2. The primitive procedure `lexical-unassigned?' should signal an
error if the argument variable is unbound.
Chris Hanson [Fri, 17 Apr 1987 08:02:27 +0000 (08:02 +0000)]
Initial revision
Chris Hanson [Fri, 17 Apr 1987 07:46:08 +0000 (07:46 +0000)]
Forgot to add one (for GC header) to vector-ref index when
open-coding.
Chris Hanson [Fri, 17 Apr 1987 07:38:02 +0000 (07:38 +0000)]
External primitives are not safe.
Chris Hanson [Fri, 17 Apr 1987 04:03:23 +0000 (04:03 +0000)]
*** empty log message ***
Chris Hanson [Fri, 17 Apr 1987 03:50:09 +0000 (03:50 +0000)]
Prim_bit_string_zero_p had 2 as its arity rather than 1, causing the
stack to get out of sync.
Chris Hanson [Fri, 17 Apr 1987 00:58:33 +0000 (00:58 +0000)]
Eliminate use of `mapcar', clean up some other things too.
Chris Hanson [Fri, 17 Apr 1987 00:54:28 +0000 (00:54 +0000)]
Loop which was walking around reductions used `eq?' to test for
termination. Because the arguments to `eq?' were variables, the
variable lookup code was stripping the danger bits off of the values.
The new microcode does not do this so it was necessary to explicitly
strip the danger bits off in the appropriate places.
Guillermo J. Rozas [Fri, 17 Apr 1987 00:04:05 +0000 (00:04 +0000)]
Patch to accommodate a bug in the 4.2 bsd vax C compiler.
Guillermo J. Rozas [Thu, 16 Apr 1987 23:20:46 +0000 (23:20 +0000)]
Primitive-type returns "safe" types.
Guillermo J. Rozas [Thu, 16 Apr 1987 15:30:25 +0000 (15:30 +0000)]
Eliminate reference to TC_STRING
Guillermo J. Rozas [Thu, 16 Apr 1987 14:35:15 +0000 (14:35 +0000)]
Declare external procedure Make_Prim_Exts.
Guillermo J. Rozas [Thu, 16 Apr 1987 14:34:28 +0000 (14:34 +0000)]
Move Make_Prim_Exts to primutl.c.
Guillermo J. Rozas [Thu, 16 Apr 1987 12:21:36 +0000 (12:21 +0000)]
Make built-in primitive table be generated automatically.
Guillermo J. Rozas [Thu, 16 Apr 1987 02:33:24 +0000 (02:33 +0000)]
Make built in primitive tables be generated automatically.
Attempt to fix OS_read_char_ready on bsd.
Some changes for VMS.
Guillermo J. Rozas [Thu, 16 Apr 1987 02:08:53 +0000 (02:08 +0000)]
Make built in primitive tables be generated automatically.
Attempt to fix OS_read_char_ready on bsd.
Some changes for VMS.
Guillermo J. Rozas [Thu, 16 Apr 1987 02:01:51 +0000 (02:01 +0000)]
*** empty log message ***
Chris Hanson [Wed, 15 Apr 1987 05:07:31 +0000 (05:07 +0000)]
Change error messages so that error message truncation does not
discard interesting information.
Chris Hanson [Mon, 13 Apr 1987 23:59:26 +0000 (23:59 +0000)]
Add `set-current-history!' to list of unsafe primitives.
Chris Hanson [Mon, 13 Apr 1987 19:25:31 +0000 (19:25 +0000)]
Delete `extended-fixnum' type.
Chris Hanson [Mon, 13 Apr 1987 18:44:18 +0000 (18:44 +0000)]
*** empty log message ***
Chris Hanson [Mon, 13 Apr 1987 18:25:02 +0000 (18:25 +0000)]
Update `object-type' to reflect changes in the type tables.
Chris Hanson [Sun, 12 Apr 1987 01:14:46 +0000 (01:14 +0000)]
Forgot to wrap `fetch' around reference to stack pointer register.
Chris Hanson [Sun, 12 Apr 1987 00:25:26 +0000 (00:25 +0000)]
There are two kinds of "stack" procedure, which can be distinguished
by whether or not the parent frame of the procedure is a stack frame.
Split these two and handle them separately. See "emodel" for details
about the new classifications.
Guillermo J. Rozas [Sat, 11 Apr 1987 16:05:19 +0000 (16:05 +0000)]
Use a new version of GNU Emacs's unexec, and make it work on Suns.
Guillermo J. Rozas [Sat, 11 Apr 1987 15:17:52 +0000 (15:17 +0000)]
Use a newer version from GNU Emacs.
Guillermo J. Rozas [Sat, 11 Apr 1987 15:17:09 +0000 (15:17 +0000)]
The encore's cpp doesn't like => in strings.
Guillermo J. Rozas [Sat, 11 Apr 1987 15:08:34 +0000 (15:08 +0000)]
Better conditionalization for dumpworld.
Guillermo J. Rozas [Sat, 11 Apr 1987 14:44:10 +0000 (14:44 +0000)]
*** empty log message ***