mit-scheme.git
36 years agoFlesh out debugging information. This goes along with changes
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.

36 years agoInitial revision
Chris Hanson [Fri, 30 Dec 1988 06:54:01 +0000 (06:54 +0000)]
Initial revision

36 years agoExtensive changes to utilize compiled code debugging information:
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'.

36 years agoChange definition of `compiled-entry-kind' for return addresses. Now,
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).

36 years agoAdjust floating point formats for pyramid.
Chris Hanson [Wed, 28 Dec 1988 00:10:08 +0000 (00:10 +0000)]
Adjust floating point formats for pyramid.

36 years agoDon't bother putting out cref information for global and primitive
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.

36 years agoAdd `next-continuation-offset' slot, which is either the stack offset
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.

36 years agoFix definition of `stack-top-address' to make it consistent with
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.

36 years agoFix definition of `stack-top-address' to make it consistent with
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.

36 years agoIf combination has a `continuation-push', prevent that continuation
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.

36 years ago*** empty log message ***
Chris Hanson [Mon, 19 Dec 1988 20:56:18 +0000 (20:56 +0000)]
*** empty log message ***

36 years agoRewrite the handling of SCode quotation expressions to allow `car' to
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.

36 years agoRewrite the handling of SCode quotation expressions to allow `car' to
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.

36 years agoTweak popping-limits computation once again: the external block is not
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.

36 years agoRepackage constant folding code.
Chris Hanson [Mon, 19 Dec 1988 20:23:55 +0000 (20:23 +0000)]
Repackage constant folding code.

36 years agoDo not require `object-immutable?' of arguments to constant folding
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.

36 years agoAdd references such as `car' and `vector-length' to set of constant
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".

36 years agoDelete reference to `block-frame', which has been made obsolete.
Chris Hanson [Fri, 16 Dec 1988 16:19:21 +0000 (16:19 +0000)]
Delete reference to `block-frame', which has been made obsolete.

36 years agoAdd hooks for debugging info.
Chris Hanson [Fri, 16 Dec 1988 13:37:12 +0000 (13:37 +0000)]
Add hooks for debugging info.

36 years agoNo longer need to use `set-type-object-description!'.
Chris Hanson [Fri, 16 Dec 1988 13:24:22 +0000 (13:24 +0000)]
No longer need to use `set-type-object-description!'.

36 years agoNo longer need to use `set-type-object-description!'.
Chris Hanson [Fri, 16 Dec 1988 13:18:45 +0000 (13:18 +0000)]
No longer need to use `set-type-object-description!'.

36 years ago*** empty log message ***
Chris Hanson [Thu, 15 Dec 1988 17:29:35 +0000 (17:29 +0000)]
*** empty log message ***

36 years agoFix bug in `instruction-dead?': an assignment whose RHS contains side
Chris Hanson [Thu, 15 Dec 1988 17:27:22 +0000 (17:27 +0000)]
Fix bug in `instruction-dead?': an assignment whose RHS contains side
effects cannot be considered dead.

36 years agoIntroduce new algorithm to delete unreachable nodes from the RTL
Chris Hanson [Thu, 15 Dec 1988 17:26:09 +0000 (17:26 +0000)]
Introduce new algorithm to delete unreachable nodes from the RTL
graph.

36 years agoChange (commented-out) code that used to use lvalue marking mechanism
Chris Hanson [Thu, 15 Dec 1988 17:25:26 +0000 (17:25 +0000)]
Change (commented-out) code that used to use lvalue marking mechanism
to now use new mechanism.

36 years agoImprove popping limits computation -- new algorithm should eliminate
Chris Hanson [Thu, 15 Dec 1988 17:24:42 +0000 (17:24 +0000)]
Improve popping limits computation -- new algorithm should eliminate
dynamic links in many situations.

36 years agoAdd generation and alist slots to lvalue objects, similar in form and
Chris Hanson [Thu, 15 Dec 1988 17:23:48 +0000 (17:23 +0000)]
Add generation and alist slots to lvalue objects, similar in form and
purpose to those used in CFG nodes.  Remove the now-obsolete marks
slot.

36 years agoChange procedure unparser to show the label in a more palatable way.
Chris Hanson [Thu, 15 Dec 1988 17:19:45 +0000 (17:19 +0000)]
Change procedure unparser to show the label in a more palatable way.

36 years agoChange block unparser to show the type, and to show the associated
Chris Hanson [Thu, 15 Dec 1988 17:17:47 +0000 (17:17 +0000)]
Change block unparser to show the type, and to show the associated
procedure's label in a more palatable way.

36 years agoIn the merged register map, if there are multiple aliases of the same
Chris Hanson [Thu, 15 Dec 1988 17:04:47 +0000 (17:04 +0000)]
In the merged register map, if there are multiple aliases of the same
type for a given register, eliminate all but one of the aliases.

36 years agoRepackage lifetime-analysis and register-allocation code.
Chris Hanson [Thu, 15 Dec 1988 17:03:19 +0000 (17:03 +0000)]
Repackage lifetime-analysis and register-allocation code.

36 years agoEliminate fluid let to patch SF since the latter has now been fixed.
Chris Hanson [Thu, 15 Dec 1988 17:02:14 +0000 (17:02 +0000)]
Eliminate fluid let to patch SF since the latter has now been fixed.
Introduce use of `->environment'.

36 years ago(block-partial-ancestry): allow ancestor to be same as starting block.
Chris Hanson [Wed, 14 Dec 1988 12:42:49 +0000 (12:42 +0000)]
(block-partial-ancestry): allow ancestor to be same as starting block.

36 years agoFix another case which was generating dangling code.
Chris Hanson [Wed, 14 Dec 1988 00:01:34 +0000 (00:01 +0000)]
Fix another case which was generating dangling code.

36 years agoWhen generating new code, must use contexts instead of blocks.
Chris Hanson [Tue, 13 Dec 1988 18:21:52 +0000 (18:21 +0000)]
When generating new code, must use contexts instead of blocks.

36 years agoRule for (OVERFLOW-TEST) must return some code. Before, it was
Chris Hanson [Tue, 13 Dec 1988 17:45:25 +0000 (17:45 +0000)]
Rule for (OVERFLOW-TEST) must return some code.  Before, it was
winning entirely by accident.

36 years agoChange `block' to `context'.
Chris Hanson [Tue, 13 Dec 1988 14:05:47 +0000 (14:05 +0000)]
Change `block' to `context'.

36 years agoDelete `variable-auxiliary!'.
Chris Hanson [Tue, 13 Dec 1988 13:58:45 +0000 (13:58 +0000)]
Delete `variable-auxiliary!'.

36 years ago*** empty log message ***
Chris Hanson [Tue, 13 Dec 1988 13:45:23 +0000 (13:45 +0000)]
*** empty log message ***

36 years agoLots of changes to implement frame reuse stuff. See the individual
Chris Hanson [Tue, 13 Dec 1988 13:13:08 +0000 (13:13 +0000)]
Lots of changes to implement frame reuse stuff.  See the individual
log entries.

36 years agoDelete all of the system predicate expansions: variable?, etc.
Chris Hanson [Tue, 13 Dec 1988 13:11:32 +0000 (13:11 +0000)]
Delete all of the system predicate expansions: variable?, etc.

36 years agoChange modifiers to return `unassigned'. This will result in superior
Chris Hanson [Tue, 13 Dec 1988 13:10:38 +0000 (13:10 +0000)]
Change modifiers to return `unassigned'.  This will result in superior
compiled code as the compiler will not attempt to produce the original
value of the location being modified.

36 years agoFrame reuse changes. Also add change to prevent noop from pop-frames.
Chris Hanson [Tue, 13 Dec 1988 13:04:14 +0000 (13:04 +0000)]
Frame reuse changes.  Also add change to prevent noop from pop-frames.

36 years ago* Change `block' to `context' where needed.
Chris Hanson [Tue, 13 Dec 1988 13:03:50 +0000 (13:03 +0000)]
* Change `block' to `context' where needed.

* New abstractions support owning and disowning of block children.

36 years ago* Guarantee that `combination/model!' is always defined.
Chris Hanson [Tue, 13 Dec 1988 13:03:45 +0000 (13:03 +0000)]
* Guarantee that `combination/model!' is always defined.

* Change `block' to `context' where needed.

36 years ago* Make changes to convert `block' to `context'.
Chris Hanson [Tue, 13 Dec 1988 13:03:39 +0000 (13:03 +0000)]
* Make changes to convert `block' to `context'.

* Update multiple value stuff.

* Move `original-block-parent' to "base/blocks.scm".

* Add pass which runs afterwards to find closures and install the
correct reference context for each.

36 years ago* Fix bug in `syntax-files!': was not causing circularly dependent
Chris Hanson [Tue, 13 Dec 1988 13:03:10 +0000 (13:03 +0000)]
* Fix bug in `syntax-files!': was not causing circularly dependent
files to recompile one another when needed.

* Add declarations for new files.

36 years ago* Change `discriminate-items' to guarantee that the order of the
Chris Hanson [Tue, 13 Dec 1988 13:02:45 +0000 (13:02 +0000)]
* Change `discriminate-items' to guarantee that the order of the
results is the same as the order of the argument.

* Update multiple value stuff.

36 years ago* Add new passes to setup frame adjustments of combinations, compute
Chris Hanson [Tue, 13 Dec 1988 13:02:39 +0000 (13:02 +0000)]
* Add new passes to setup frame adjustments of combinations, compute
subproblem free variables, and recompute closure contexts.

36 years ago* Change `block' to `context' where needed.
Chris Hanson [Tue, 13 Dec 1988 13:02:34 +0000 (13:02 +0000)]
* Change `block' to `context' where needed.

* Define `procedure-arity-encoding'.

* Delete `set-procedure-closing-block!'.

* Redefine `procedure/type' to discriminate closure and
trivial-closure types.

36 years ago`tagged-vector/subclass-predicate' should use `vector-tag?' predicate
Chris Hanson [Tue, 13 Dec 1988 13:02:30 +0000 (13:02 +0000)]
`tagged-vector/subclass-predicate' should use `vector-tag?' predicate
rather than `pair?'.

36 years ago* Add new lvalue slots: `initial-{for,back}ward-links'. These
Chris Hanson [Tue, 13 Dec 1988 13:02:26 +0000 (13:02 +0000)]
* Add new lvalue slots: `initial-{for,back}ward-links'.  These
correspond to `initial-values' in that they are the first order links
of the DFG.

* Delete `popping-limits' slot from variables.

* Change `variable-in-known-location?' to accept a context rather than
a block.

36 years ago* Change `block' fields to `context' where appropriate.
Chris Hanson [Tue, 13 Dec 1988 13:02:21 +0000 (13:02 +0000)]
* Change `block' fields to `context' where appropriate.

* Add two new items to combinations: `frame-adjustment' and
`reuse-existing-frame?'.

* Add `context' field to `true-test' node.

* Add new node type: `stack-overwrite'.

* Delete `node/offset'.  Offsets are now stored in reference contexts.

36 years agoSignificant repackaging.
Chris Hanson [Tue, 13 Dec 1988 13:01:48 +0000 (13:01 +0000)]
Significant repackaging.

36 years agoRedefine `block-original-parent' to be `original-block-parent' in
Chris Hanson [Tue, 13 Dec 1988 13:00:22 +0000 (13:00 +0000)]
Redefine `block-original-parent' to be `original-block-parent' in
keeping with changes to closure analysis.

36 years agoChange analysis in two ways: (1) static link computation now uses
Chris Hanson [Tue, 13 Dec 1988 12:41:27 +0000 (12:41 +0000)]
Change analysis in two ways: (1) static link computation now uses
`initial-backward-links' to get much more precise notion of when
parent is the stack link.  (2) dynamic link computation stores all of
the popping limits in the caller block for use by the combination code
generator.

36 years agoUUO links to entities and some procedures with optional arguments have
Guillermo J. Rozas [Mon, 12 Dec 1988 22:11:35 +0000 (22:11 +0000)]
UUO links to entities and some procedures with optional arguments have
been improved.

36 years agoNew type: stack-overwrite. Remove changes to delete unreachable
Chris Hanson [Mon, 12 Dec 1988 21:53:00 +0000 (21:53 +0000)]
New type: stack-overwrite.  Remove changes to delete unreachable
nodes, as this code was buggy.  No longer needed because of changes to
code generator, but we'll replace it soon anyway.

36 years agoBlock->context changes. Improve handling of static links. New type:
Chris Hanson [Mon, 12 Dec 1988 21:52:53 +0000 (21:52 +0000)]
Block->context changes.  Improve handling of static links.  New type:
stack-overwrite.

36 years agoMultiple value changes. Block->context changes.
Chris Hanson [Mon, 12 Dec 1988 21:52:46 +0000 (21:52 +0000)]
Multiple value changes.  Block->context changes.

36 years agoMany changes for frame reuse stuff.
Chris Hanson [Mon, 12 Dec 1988 21:52:40 +0000 (21:52 +0000)]
Many changes for frame reuse stuff.

36 years agoSignificant changes for frame reuse stuff.
Chris Hanson [Mon, 12 Dec 1988 21:52:32 +0000 (21:52 +0000)]
Significant changes for frame reuse stuff.

36 years ago* Change `block' to `context' where needed.
Chris Hanson [Mon, 12 Dec 1988 21:52:22 +0000 (21:52 +0000)]
* Change `block' to `context' where needed.

* Change open coding stuff to avoid generating code that will be
dangling in the output.

36 years ago* Move everything except the core block search stuff to another file.
Chris Hanson [Mon, 12 Dec 1988 21:52:15 +0000 (21:52 +0000)]
* Move everything except the core block search stuff to another file.

* Update to use reference contexts.

36 years agoMany changes: see the diff.
Chris Hanson [Mon, 12 Dec 1988 21:52:08 +0000 (21:52 +0000)]
Many changes: see the diff.

36 years agoMajor changes to accomodate frame reuse.
Chris Hanson [Mon, 12 Dec 1988 21:51:58 +0000 (21:51 +0000)]
Major changes to accomodate frame reuse.

36 years agoSignificant changes: see the diff.
Chris Hanson [Mon, 12 Dec 1988 21:51:52 +0000 (21:51 +0000)]
Significant changes: see the diff.

36 years agoAdd new node type: `stack-overwrite'
Chris Hanson [Mon, 12 Dec 1988 21:51:48 +0000 (21:51 +0000)]
Add new node type: `stack-overwrite'

36 years ago* Make necessary changes to convert `block' to `context'.
Chris Hanson [Mon, 12 Dec 1988 21:51:40 +0000 (21:51 +0000)]
* Make necessary changes to convert `block' to `context'.

* Initialize the contexts at the end of FG generation.

36 years ago* Add `free-variables' slot to subproblem objects.
Chris Hanson [Mon, 12 Dec 1988 21:51:35 +0000 (21:51 +0000)]
* Add `free-variables' slot to subproblem objects.

* Define `continuation*/type' and `set-continuation*/type!'.

* Define `continuation*/context'.

* Change `block' to `context' in virtual continuations.

36 years agoChange `block' to `context' where needed.
Chris Hanson [Mon, 12 Dec 1988 21:51:30 +0000 (21:51 +0000)]
Change `block' to `context' where needed.

36 years agoUUO links to entities and some procedures with optional arguments have
Guillermo J. Rozas [Mon, 12 Dec 1988 21:51:29 +0000 (21:51 +0000)]
UUO links to entities and some procedures with optional arguments have
been improved.

36 years ago* Add new node type: `stack-overwrite'.
Chris Hanson [Mon, 12 Dec 1988 21:51:25 +0000 (21:51 +0000)]
* Add new node type: `stack-overwrite'.

36 years agoDelete popping-limit stuff from continuations. Also delete
Chris Hanson [Mon, 12 Dec 1988 21:51:21 +0000 (21:51 +0000)]
Delete popping-limit stuff from continuations.  Also delete
`reduction-continuation/block' which was never used.

36 years ago* Add `popping-limits' components to block.
Chris Hanson [Mon, 12 Dec 1988 21:51:16 +0000 (21:51 +0000)]
* Add `popping-limits' components to block.

* Change `ic-block?' to be non-integrable.

* Change `block-ancestry' to eliminate random extra argument.

* Define new procedure `block-partial-ancestry' which is like
`block-ancestry' except that it stops at a given ancestor.

* Make `stack-block/static-link?' be more sophisticated: static link
is not needed unless the block has some free variables.  Also, for IC
parent, check to see if lookup is being used on the parent.

* Define new procedures `block-original-parent', and
`{dis,}own-block-child!'.

36 years agoInitial revision
Chris Hanson [Mon, 12 Dec 1988 21:33:15 +0000 (21:33 +0000)]
Initial revision

36 years agoFix some bugs: (1) was allowing volatile expressions to be moved
Chris Hanson [Mon, 12 Dec 1988 21:30:30 +0000 (21:30 +0000)]
Fix some bugs: (1) was allowing volatile expressions to be moved
around; (2) was moving stack references over assignments to the same
stack location.

36 years agoNew definitions:
Chris Hanson [Mon, 12 Dec 1988 21:30:25 +0000 (21:30 +0000)]
New definitions:
rtl:invocation-prefix?
rtl:volatile-expression?
rtl:stack-reference-expression?
rtl:expression-contains?

36 years agoChange to store the initial links as well as the transitive closure.
Chris Hanson [Mon, 12 Dec 1988 21:30:21 +0000 (21:30 +0000)]
Change to store the initial links as well as the transitive closure.

36 years ago* Add two new slots to lvalue type.
Chris Hanson [Mon, 12 Dec 1988 21:30:16 +0000 (21:30 +0000)]
* Add two new slots to lvalue type.

* Change vector modification definitions to return `unspecific' rather
than the original value.

36 years agoDelete all of the system predicate expansions: variable?, etc.
Chris Hanson [Mon, 12 Dec 1988 18:06:47 +0000 (18:06 +0000)]
Delete all of the system predicate expansions: variable?, etc.

36 years agoChange modifiers to return `unassigned'. This will result in superior
Chris Hanson [Sun, 11 Dec 1988 11:24:36 +0000 (11:24 +0000)]
Change modifiers to return `unassigned'.  This will result in superior
compiled code as the compiler will not attempt to produce the original
value of the location being modified.

36 years agoMissing \n\ in documentation string.
Chris Hanson [Thu, 8 Dec 1988 10:48:14 +0000 (10:48 +0000)]
Missing \n\ in documentation string.

36 years agoRewrite constant folding and closure analysis phases.
Guillermo J. Rozas [Tue, 6 Dec 1988 18:58:19 +0000 (18:58 +0000)]
Rewrite constant folding and closure analysis phases.
Write two new phases: compute-call-graph and side-effect-analysis.

36 years agoInitial revision
Guillermo J. Rozas [Tue, 6 Dec 1988 18:57:56 +0000 (18:57 +0000)]
Initial revision

36 years agoAdd a couple of fg optimizer phases:
Guillermo J. Rozas [Tue, 6 Dec 1988 18:49:43 +0000 (18:49 +0000)]
Add a couple of fg optimizer phases:
- compute call graph
- side effect analysis

36 years agoAdd a list? check to syntax-expression and some paranoia to syntax-sequence.
Guillermo J. Rozas [Mon, 5 Dec 1988 23:32:12 +0000 (23:32 +0000)]
Add a list? check to syntax-expression and some paranoia to syntax-sequence.

36 years agoFix a bug in blktyp, and allow envopt to keep data structures when desired.
Guillermo J. Rozas [Thu, 17 Nov 1988 05:20:43 +0000 (05:20 +0000)]
Fix a bug in blktyp, and allow envopt to keep data structures when desired.

36 years ago1) Integrated parameters are filtered before we design the closure
Guillermo J. Rozas [Thu, 17 Nov 1988 05:18:17 +0000 (05:18 +0000)]
1) Integrated parameters are filtered before we design the closure
block.  This fixes a bug by which closures with no free variables were
created.

2) Add paranoia checks to make sure that a trivial closure remains
trivial after its closure block is computed.  This is important
because if it was previously considered trivial, it may already have
been integrated into some other closure.  This check would have caught
the bug fixed in 1.

36 years agofree callers and callees lists are preserved if
Guillermo J. Rozas [Thu, 17 Nov 1988 05:12:25 +0000 (05:12 +0000)]
free callers and callees lists are preserved if
compiler:preserve-data-structures? is true.

36 years agoImprove constant folding:
Guillermo J. Rozas [Tue, 15 Nov 1988 16:37:29 +0000 (16:37 +0000)]
Improve constant folding:
- Mutable objects can now be known values of variables, although
operations will not be open coded over them.
- The outer analysis has been changed to have passed-out and passed-in
counters rather than flags.  In this way it is easy to recompute their
values value after an operation has been constant folded, and decide
whether further propagation can occur or not.
- Non-primitive operations can now be constant folded.  There is a new
declaration: USUAL-DEFINITION which allows the variables to which it
applies to be constant folded to their usual (global) definition.
Examples of this are ATAN, GCD, etc.
- Fix bug in base/utils.scm by which temporary label names were being
interned.  This would cause the compiler to run out of storage after
many compilations.

36 years agoAdd `flush-output' operation to file output ports. This change
Chris Hanson [Sat, 12 Nov 1988 09:21:08 +0000 (09:21 +0000)]
Add `flush-output' operation to file output ports.  This change
requires microcode 10.63 or later.

36 years agoRewrite unix file opening code to be really careful about what kinds
Chris Hanson [Sat, 12 Nov 1988 06:47:24 +0000 (06:47 +0000)]
Rewrite unix file opening code to be really careful about what kinds
of files can be opened, and how.  As of now, only regular files and
character special files are allowed; symbolic links are detected when
opening output files and deleted, thus overwriting the link rather
than writing through it.

Implement new primitive `file-flush-output' which is needed since we
changed file I/O to use buffered stdio some time ago.

36 years agoFix self evaluation of compiled entries which are not compiled
Guillermo J. Rozas [Thu, 10 Nov 1988 06:14:18 +0000 (06:14 +0000)]
Fix self evaluation of compiled entries which are not compiled
expressions.

36 years agoChange to use `for' loop on subdirectories.
Chris Hanson [Wed, 9 Nov 1988 16:35:48 +0000 (16:35 +0000)]
Change to use `for' loop on subdirectories.

36 years agoInitial revision
Chris Hanson [Wed, 9 Nov 1988 10:36:26 +0000 (10:36 +0000)]
Initial revision

36 years agoAdd fix:<mumble> to the list of constant-foldable-primitives.
Guillermo J. Rozas [Tue, 8 Nov 1988 21:25:58 +0000 (21:25 +0000)]
Add fix:<mumble> to the list of constant-foldable-primitives.

36 years agoGeneralize rule for `cons-closure' so that it handles more types of
Chris Hanson [Tue, 8 Nov 1988 12:36:58 +0000 (12:36 +0000)]
Generalize rule for `cons-closure' so that it handles more types of
target expressions.

36 years agoChange `cons-closure' from a statement to an expression. This allows
Chris Hanson [Tue, 8 Nov 1988 11:17:29 +0000 (11:17 +0000)]
Change `cons-closure' from a statement to an expression.  This allows
us more freedom in choosing the target register.

36 years agoChange `cons-closure' from a statement to an expression. This allows
Chris Hanson [Tue, 8 Nov 1988 08:24:57 +0000 (08:24 +0000)]
Change `cons-closure' from a statement to an expression.  This allows
us more freedom in choosing the target register.