Guillermo J. Rozas [Wed, 4 Apr 1990 18:52:12 +0000 (18:52 +0000)]
Change file-touch to return #t if the file did not exist previously
and was succesfully created, #f if it existed, and was succesfully
modified, and an error string otherwise.
Guillermo J. Rozas [Wed, 4 Apr 1990 18:51:37 +0000 (18:51 +0000)]
Change file-touch to return #t if the file did not exist previously
and was succesfully created, #f if it existed, and was succesfully
modified, and an error string otherwise.
Guillermo J. Rozas [Wed, 4 Apr 1990 18:23:16 +0000 (18:23 +0000)]
Change file-touch to give an error only if the result of the primitive
is an error string.
Guillermo J. Rozas [Tue, 3 Apr 1990 23:21:21 +0000 (23:21 +0000)]
Allow (pseudo) instructions to expand into no code.
Guillermo J. Rozas [Tue, 3 Apr 1990 23:20:52 +0000 (23:20 +0000)]
Make BSR to the following instruction cause an error at assembly time.
Guillermo J. Rozas [Tue, 3 Apr 1990 23:20:21 +0000 (23:20 +0000)]
Prevent the diamond rule for pblocks from generating the same block on
both branches, the assembler will then complain because of duplicate
labels.
Guillermo J. Rozas [Tue, 3 Apr 1990 19:57:05 +0000 (19:57 +0000)]
Forgot to change > to != in last change.
Guillermo J. Rozas [Tue, 3 Apr 1990 19:53:47 +0000 (19:53 +0000)]
Eliminate dependency on byte order from BIT-SUBSTRING-FIND-NEXT-SET-BIT.
Use INC_BIT_STR_PTR rather than pre-decrementing.
Guillermo J. Rozas [Tue, 3 Apr 1990 06:17:26 +0000 (06:17 +0000)]
Fix load-interface-args! which was clearing the wrong registers.
Fix rulrew which was constant folding object->type and object->datum
incorrectly.
Improve code sequences generated for inline-coded generic arithmetic
in reduction position when arguments are constant.
Make compiler declarations propagate when compile-by-procedures? is
on.
Guillermo J. Rozas [Tue, 3 Apr 1990 06:10:06 +0000 (06:10 +0000)]
Fix load-interface-args! which was clearing the wrong registers.
Guillermo J. Rozas [Tue, 3 Apr 1990 06:01:54 +0000 (06:01 +0000)]
Patch inline code so that inliners that call out of line will see
constant operands rather than stack locations.
Guillermo J. Rozas [Tue, 3 Apr 1990 04:52:59 +0000 (04:52 +0000)]
Fix broken rewrite rules by which generic arithmetic with a constant
argument was always calling off-line.
Guillermo J. Rozas [Tue, 3 Apr 1990 04:51:16 +0000 (04:51 +0000)]
Make top level declarations propagate when compile-by-procedures is
turned on.
Guillermo J. Rozas [Tue, 3 Apr 1990 04:50:08 +0000 (04:50 +0000)]
Fix bugs in rulrew by which generic arithmetic with a constant
argument was always calling off-line.
Make top level declarations propagate when compile-by-procedures is
turned on.
Guillermo J. Rozas [Tue, 3 Apr 1990 00:15:53 +0000 (00:15 +0000)]
Add MIPS compiler support, and remove nesting of #if's on PROC_TYPE.
Guillermo J. Rozas [Tue, 3 Apr 1990 00:04:44 +0000 (00:04 +0000)]
Add typedef of format_word when not HAS_COMPILER_SUPPORT.
It should never be used, but the macro stubs should guarantee this.
Guillermo J. Rozas [Mon, 2 Apr 1990 15:32:24 +0000 (15:32 +0000)]
Update to match 68k.
lap:make-unconditional-branch returns an instruction sequence rather
than a single instruction because on machines with branch delay slots
and no nullification, a NOP must appear as well.
Comment out uses of expt, since compiler declarations don't work with
compile-by-procedures?
Add a test on endianness to expand-fields so that the same macros can
be used for all RISC machines.
Guillermo J. Rozas [Mon, 2 Apr 1990 15:30:54 +0000 (15:30 +0000)]
Add a test on endianness to expand-fields so that the same macros can
be used for all RISC machines.
Guillermo J. Rozas [Mon, 2 Apr 1990 15:30:02 +0000 (15:30 +0000)]
Comment out uses of expt, since compiler declarations don't work with
compile-by-procedures?
Guillermo J. Rozas [Mon, 2 Apr 1990 15:28:32 +0000 (15:28 +0000)]
lap:make-unconditional-branch returns an instruction sequence rather
than a single instruction because on machines with branch delay slots
and no nullification, a NOP must appear as well.
Comment out uses of expt, since compiler declarations don't work with
compile-by-procedures?
Guillermo J. Rozas [Sun, 1 Apr 1990 22:31:56 +0000 (22:31 +0000)]
Major change:
- New drifting/undrifting code and closure analysis.
Minor changes:
- lap:make-uncoditional-branch now returns a sequence of instructions,
rather than a single instruction.
- Uses of `expt' in machin and lapgen have temporarily been commented
out because the `usual-definition' declaration does not work when
`compile-by-procedures?' is turned on.
- letrec-value now gives only a warning when binding a trivial
closure.
- close-procedure! in blktyp now only gives a warning when a
non-trivial closure becomes trivial.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:28:28 +0000 (22:28 +0000)]
Substitute constants for expressions computed with `expt'. The expt
constant-folding declaration is currently ignored (because of
compile-by-procedures? breaking compiler declarations) and since the
values are integrated, they were being computed in a zillion places.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:26:21 +0000 (22:26 +0000)]
lap:make-unconditional-branch now returns a sequence rather than a
single instructions. On machines with branch delay slots and no
nullification, a nop must be returned in addition to the branch
instruction.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:26:01 +0000 (22:26 +0000)]
lap:make-unconditional-branch now returns a sequence rather than a
single instructions. On machines with branch delay slots and no
nullification, a nop must be returned in addition to the branch
instruction.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:24:35 +0000 (22:24 +0000)]
letrec-value no longer errors if a binding is a trivial closure.
There are perfectly legal programs where this happens, although they
are written in poor style. It now just gives a warning.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:23:16 +0000 (22:23 +0000)]
Nth revision of this code.
Improve the closing and undrifting code significantly. Many of the
procedures that were (needlessly) closed by the previous version are
no longer closed.
Undrifting constraints are computed more precisely.
Additionally, closing checks connectivity of the environment chain
(generating undrifting constraints as necessary) to ensure that all
the free variables captured are in fact available, and it also ensures
that disowned children (spliced out by the drifting code) are
undrifted if they depend on the closed-over variables.
One potential non-improvement introduced: Undrifting any procedure
forces its compatibility class to close, in order to avoid a harder
analysis. This is a cop-out for now.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:19:41 +0000 (22:19 +0000)]
Get rid of funny drifting rules. Let-like procedures and others that
were previously not allowed to drift are now allowed to. The
undrifting code takes care of them.
Guillermo J. Rozas [Sun, 1 Apr 1990 22:18:32 +0000 (22:18 +0000)]
It's OK for a non-trivial closure to become trivial, not the other way
around. The previous error is now split into a warning (in the
unexpected but bad case), and an error (in the bad case).
Guillermo J. Rozas [Sun, 1 Apr 1990 20:32:02 +0000 (20:32 +0000)]
Fix bch system to run on machines with floating alignment.
Guillermo J. Rozas [Sun, 1 Apr 1990 20:19:57 +0000 (20:19 +0000)]
Initial revision
Guillermo J. Rozas [Sun, 1 Apr 1990 20:14:51 +0000 (20:14 +0000)]
Initial revision
Guillermo J. Rozas [Sun, 1 Apr 1990 20:10:29 +0000 (20:10 +0000)]
Add MIPS compiler support.
Guillermo J. Rozas [Wed, 28 Mar 1990 22:05:00 +0000 (22:05 +0000)]
Initial revision
Guillermo J. Rozas [Wed, 28 Mar 1990 06:11:39 +0000 (06:11 +0000)]
Add new method for finding variable that is used by stack-overwrite
mechanism. This new method does not use any tricks like variable
indirection to find the value, but produces a locative for that
particular variable.
Guillermo J. Rozas [Wed, 28 Mar 1990 06:07:59 +0000 (06:07 +0000)]
Undrifting constraints must propagate transitively to free callers.
Undrifted procedures must be re-analyzed for Exporting.
Guillermo J. Rozas [Tue, 27 Mar 1990 00:50:00 +0000 (00:50 +0000)]
Move switch.scm back to compiler/base, so it can be shared.
Update to match 68k version.
Guillermo J. Rozas [Mon, 26 Mar 1990 23:46:08 +0000 (23:46 +0000)]
Add compiler:noisy?
Move switch.scm back to compiler/base, so it can be shared.
Update to match 68k version.
Guillermo J. Rozas [Mon, 26 Mar 1990 23:45:38 +0000 (23:45 +0000)]
Add compiler:noisy?
Guillermo J. Rozas [Mon, 26 Mar 1990 23:45:05 +0000 (23:45 +0000)]
Add compiler:noisy?
Guillermo J. Rozas [Mon, 26 Mar 1990 23:36:42 +0000 (23:36 +0000)]
Move switch.scm back to compiler/base, so it can be shared.
Update to match 68k version.
Guillermo J. Rozas [Mon, 26 Mar 1990 23:27:32 +0000 (23:27 +0000)]
Move switch.scm back to compiler/base, so it can be shared.
Guillermo J. Rozas [Mon, 26 Mar 1990 20:49:53 +0000 (20:49 +0000)]
Add sf:noisy? flag, and syntax&integrate global procedure.
Guillermo J. Rozas [Mon, 26 Mar 1990 19:42:44 +0000 (19:42 +0000)]
Modify gc-statistic/meter so that gcnote will not be confused.
Guillermo J. Rozas [Mon, 26 Mar 1990 19:38:43 +0000 (19:38 +0000)]
Add gc-timestamp for data structures that need to be updated after
gcs, but not necessarily after each gc.
Guillermo J. Rozas [Sat, 24 Mar 1990 19:14:13 +0000 (19:14 +0000)]
Add arities to primitive definitions so that the file will syntax and
load in systems with no process primitives.
Guillermo J. Rozas [Sat, 24 Mar 1990 13:22:42 +0000 (13:22 +0000)]
Fix register*constant methods for plus-fixnum and minus-fixnum.
When adding 0 with overflow tests, they were not loading the target.
Chris Hanson [Wed, 21 Mar 1990 02:12:51 +0000 (02:12 +0000)]
When accessing `block-procedure', make sure it is a procedure before
using it as such; it might be an expression instead.
Chris Hanson [Fri, 16 Mar 1990 22:43:33 +0000 (22:43 +0000)]
Fix unbound variable in `delete-process'. The `process/to-port' is an
output port, not an input port, so use the appropriate operation to
close it. Also do some slight reformatting.
Chris Hanson [Wed, 14 Mar 1990 21:06:31 +0000 (21:06 +0000)]
*** empty log message ***
Chris Hanson [Wed, 14 Mar 1990 21:06:06 +0000 (21:06 +0000)]
In `decode-ordinary-floating-instruction', always specify at least two
operands in the result, because the assembler does not understand the
one-operand syntax.
Chris Hanson [Wed, 14 Mar 1990 21:05:05 +0000 (21:05 +0000)]
In `two-arg-register-operation', don't delete reused alias of first
operand until the second operand's reference has been computed. This
prevents the reused alias from being mistakenly re-allocated for use
by the second operand.
Chris Hanson [Tue, 13 Mar 1990 00:27:17 +0000 (00:27 +0000)]
*** empty log message ***
Chris Hanson [Tue, 13 Mar 1990 00:20:45 +0000 (00:20 +0000)]
Conditionalize floating-point register load instructions to give
source type if loading from memory.
Chris Hanson [Mon, 12 Mar 1990 23:20:01 +0000 (23:20 +0000)]
Conditionalize binary floating-point open-coded operations on whether
the source is a register or not.
Chris Hanson [Mon, 12 Mar 1990 21:38:18 +0000 (21:38 +0000)]
Remove duplicate entry for fp6 from the list of initially available
registers.
Chris Hanson [Thu, 8 Mar 1990 19:26:43 +0000 (19:26 +0000)]
Add sun4 processor type.
Guillermo J. Rozas [Mon, 5 Mar 1990 21:05:19 +0000 (21:05 +0000)]
Add ^B ^X ^U ^G to the ^C handler.
Mark Friedman [Fri, 2 Mar 1990 20:48:01 +0000 (20:48 +0000)]
Added subprocess support.
Mark Friedman [Fri, 2 Mar 1990 20:24:46 +0000 (20:24 +0000)]
Added subprocess support.
Mark Friedman [Tue, 27 Feb 1990 19:53:29 +0000 (19:53 +0000)]
Added support for subprocesses.
Mark Friedman [Tue, 27 Feb 1990 19:45:28 +0000 (19:45 +0000)]
Initial revision
Mark Friedman [Tue, 27 Feb 1990 19:44:26 +0000 (19:44 +0000)]
Added support for subprocesses.
Mark Friedman [Tue, 27 Feb 1990 19:39:34 +0000 (19:39 +0000)]
Added support for subprocesses to OPEN-CHANNEL-WRAPPER.
Mark Friedman [Tue, 27 Feb 1990 19:18:26 +0000 (19:18 +0000)]
Added support for unix subprocesses.
Mark Friedman [Tue, 27 Feb 1990 18:44:04 +0000 (18:44 +0000)]
Added compiler flag ENABLE_SUBPROCESSES.
Chris Hanson [Sun, 25 Feb 1990 23:57:57 +0000 (23:57 +0000)]
*** empty log message ***
Chris Hanson [Sun, 25 Feb 1990 23:23:57 +0000 (23:23 +0000)]
*** empty log message ***
Chris Hanson [Sat, 24 Feb 1990 04:01:42 +0000 (04:01 +0000)]
Open-code vector-8b ref and set operations.
Chris Hanson [Fri, 23 Feb 1990 21:43:42 +0000 (21:43 +0000)]
Don't use arithmetic right shift for division.
Chris Hanson [Fri, 23 Feb 1990 18:47:56 +0000 (18:47 +0000)]
Eliminate some potential name conflicts in the expansion of a
`define-structure' macro.
Guillermo J. Rozas [Wed, 21 Feb 1990 23:24:25 +0000 (23:24 +0000)]
Add more handlers for INTERNAL-APPLY-VAL types. Somehow some were
missed last time around.
Guillermo J. Rozas [Tue, 20 Feb 1990 16:15:16 +0000 (16:15 +0000)]
Make debugger evaluation commands print out more like normal
evaluations in a rep-loop.
Guillermo J. Rozas [Tue, 20 Feb 1990 15:58:32 +0000 (15:58 +0000)]
Allow strings as arguments to generate-uninterned-symbol.
Chris Hanson [Wed, 14 Feb 1990 01:56:12 +0000 (01:56 +0000)]
Add definition of `alist?' that detects circularity.
Guillermo J. Rozas [Wed, 14 Feb 1990 00:20:38 +0000 (00:20 +0000)]
Fix definition of list? to terminate even in the presence of circular
structure, as required by the standard.
Chris Hanson [Tue, 13 Feb 1990 16:11:07 +0000 (16:11 +0000)]
Initialize `Prev_Restore_History_Stacklet' to NULL rather than
SHARP_F.
Chris Hanson [Tue, 13 Feb 1990 16:00:20 +0000 (16:00 +0000)]
Add \n\ to newlines in comments.
Chris Hanson [Mon, 12 Feb 1990 23:07:31 +0000 (23:07 +0000)]
Fix minor bug in last change.
Chris Hanson [Sun, 11 Feb 1990 22:34:12 +0000 (22:34 +0000)]
Changes from JMiller that are needed to get this stuff running on the
DECStation 3100.
Chris Hanson [Sat, 10 Feb 1990 23:45:11 +0000 (23:45 +0000)]
Add new hash-table abstraction; this is loaded by
(load-option 'hash-table)
This abstraction is very similar to that of Common Lisp.
Chris Hanson [Sat, 10 Feb 1990 23:43:09 +0000 (23:43 +0000)]
Initial revision
Chris Hanson [Fri, 9 Feb 1990 19:11:24 +0000 (19:11 +0000)]
Define `symbol-hash-mod'.
Chris Hanson [Fri, 9 Feb 1990 00:57:43 +0000 (00:57 +0000)]
Run scheme-mode-hook before scheme-interaction-mode-hook.
Chris Hanson [Thu, 8 Feb 1990 02:50:03 +0000 (02:50 +0000)]
"fixnum.o" should depend on "mul.c", not "os.o".
Chris Hanson [Thu, 8 Feb 1990 00:39:02 +0000 (00:39 +0000)]
Add changes to support gcc on the vax.
Chris Hanson [Thu, 8 Feb 1990 00:36:31 +0000 (00:36 +0000)]
Fix cold-load problems.
Chris Hanson [Thu, 8 Feb 1990 00:05:26 +0000 (00:05 +0000)]
Fix cold-load problems.
Chris Hanson [Wed, 7 Feb 1990 23:26:29 +0000 (23:26 +0000)]
*** empty log message ***
Chris Hanson [Wed, 7 Feb 1990 23:25:58 +0000 (23:25 +0000)]
Implement new record proposal.
Guillermo J. Rozas [Wed, 7 Feb 1990 21:33:20 +0000 (21:33 +0000)]
Initial revision
Guillermo J. Rozas [Wed, 7 Feb 1990 21:31:56 +0000 (21:31 +0000)]
Add in sun4 (sparc) descriptions for Morry Katz.
Panayotis Skordos [Tue, 6 Feb 1990 22:04:04 +0000 (22:04 +0000)]
*** empty log message ***
Guillermo J. Rozas [Tue, 6 Feb 1990 16:22:17 +0000 (16:22 +0000)]
Changes by JMiller to make it work under HP cc and Sun cc (PCC?).
Structure returns are different for those two compilers and GCC.
Guillermo J. Rozas [Tue, 6 Feb 1990 16:15:20 +0000 (16:15 +0000)]
Changes by JMiller to make it work under HP cc and Sun cc (PCC?).
Structure returns are different for those two compilers and GCC.
Chris Hanson [Fri, 2 Feb 1990 18:40:04 +0000 (18:40 +0000)]
* Add new operations to register allocator that determine whether
allocation will cause unloading or spilling of registers. Change the
operation `standard-register-reference' to use these operations when
deciding whether or not to refer to a register's home rather than
allocation a new alias for it.
* For an inline-coded procedure (e.g. LET), create an association
between each parameter of that procedure and the FG node that supplies
that parameter's value in the call. This association is used to
optimize the initialization of variables that will be stored in cells:
the cell for such a variable is created during the call rather than
after it. Previously, a stack-allocated parameter was initialized by
pushing its initial value, and then the contents of the stack location
were removed, placed in a new cell, and the cell stored back into the
stack location. Now, the parameter's value is wrapped in a cell
before being pushed.
* RTL output files have been changed to print uninterned symbols by
name.
* The code generated for assignments in value position has been
slightly changed to guarantee the correct order of events.
Previously, the order of the computation of the new value and the
fetching of the old value was indeterminate; now it is guaranteed that
the new value is computed before the old value is fetched.
* The bit-string representation of register sets has been restored.
This has a time penalty for small register sets, but guarantees that
access to the register sets is independent of the number of registers.
Certain programs with large numbers of registers were being
unreasonably penalized by the list-based representation. Also, the
dependencies for the file "rtlbase/regset" were adjusted to reflect
the files that actually refer to it.
* The RTL generated for cached variable assignments has been changed
to precompute the value of the assignment and store it in a pseudo
register. Previously, the code was replicated.
Chris Hanson [Fri, 2 Feb 1990 17:25:50 +0000 (17:25 +0000)]
New definition of `complex:acos' preserves more precision and is more
efficient. This one also does not introduce inexact real or imaginary
zero components in certain (important) boundary cases, such as:
(acos 2)
;Value: 0.+1.3169578969248166i
Guillermo J. Rozas [Wed, 31 Jan 1990 05:01:53 +0000 (05:01 +0000)]
Fix bug in fasdump by which zero length files were left around when
the fasdump failed.
Guillermo J. Rozas [Wed, 31 Jan 1990 02:03:13 +0000 (02:03 +0000)]
Fix bug in load/internal by which empty files caused an error in the
fasl check. peek-char returned an eof-object, and char->ascii barfed
on that.
Now, if the file is empty, it is loaded as a source file, whatever
that means.
Guillermo J. Rozas [Tue, 30 Jan 1990 14:44:25 +0000 (14:44 +0000)]
Fix bug in Prepare_Apply_Interrupt noticed after last set of changes
(addition of RC_INTERNAL_APPLY_VAL).
Guillermo J. Rozas [Tue, 30 Jan 1990 14:35:28 +0000 (14:35 +0000)]
Fix bug in Prepare_Apply_Interrupt noticed after last set of changes
(addition of RC_INTERNAL_APPLY_VAL).