mit-scheme.git
35 years agoFix fencepost error in `disk-restore': when allocating space for a C
Chris Hanson [Tue, 16 Jan 1990 01:57:31 +0000 (01:57 +0000)]
Fix fencepost error in `disk-restore': when allocating space for a C
string, must allocate one more byte than the string's length to
account for trailing \0.

35 years agoAdd new variable `flonum-unparser-cutoff', which controls the flonum
Chris Hanson [Mon, 15 Jan 1990 21:27:55 +0000 (21:27 +0000)]
Add new variable `flonum-unparser-cutoff', which controls the flonum
printer's precision.  Acceptable values of this variable are:

NORMAL use all available precision
(RELATIVE <n>) <n> digits of precision
(ABSOLUTE <n>) <n> digits of precision after the decimal point

35 years ago*** empty log message ***
Panayotis Skordos [Mon, 15 Jan 1990 18:09:34 +0000 (18:09 +0000)]
*** empty log message ***

35 years agoFix stupid bug in division that caused quotient to be off by one in
Chris Hanson [Fri, 12 Jan 1990 23:37:17 +0000 (23:37 +0000)]
Fix stupid bug in division that caused quotient to be off by one in
rare cases.

35 years agoMake generic arithmetic primitives perform fixnum arithmetic as a
Chris Hanson [Fri, 12 Jan 1990 15:20:27 +0000 (15:20 +0000)]
Make generic arithmetic primitives perform fixnum arithmetic as a
special case.  This makes a factor of 10 difference for (fib 20) on an
interpreted system.

35 years agoCorrect for scaling overshoot in `ratnum->flonum'.
Chris Hanson [Thu, 11 Jan 1990 01:01:44 +0000 (01:01 +0000)]
Correct for scaling overshoot in `ratnum->flonum'.

35 years agoFix case bug in `complex:expt'.
Hal Abelson [Wed, 10 Jan 1990 23:19:57 +0000 (23:19 +0000)]
Fix case bug in `complex:expt'.

35 years agoFix typo from last edit.
Chris Hanson [Wed, 10 Jan 1990 14:19:20 +0000 (14:19 +0000)]
Fix typo from last edit.

35 years ago*** empty log message ***
Chris Hanson [Wed, 10 Jan 1990 13:13:45 +0000 (13:13 +0000)]
*** empty log message ***

35 years ago*** empty log message ***
Chris Hanson [Wed, 10 Jan 1990 12:39:17 +0000 (12:39 +0000)]
*** empty log message ***

35 years agoNow that `vector-set!' is defined to return unspecific value we don't
Chris Hanson [Wed, 10 Jan 1990 12:26:03 +0000 (12:26 +0000)]
Now that `vector-set!' is defined to return unspecific value we don't
need to force it into effect position.

35 years agoAdd error checking to symbol operations.
Chris Hanson [Thu, 4 Jan 1990 06:43:35 +0000 (06:43 +0000)]
Add error checking to symbol operations.

35 years ago*** empty log message ***
Panayotis Skordos [Tue, 2 Jan 1990 18:35:32 +0000 (18:35 +0000)]
*** empty log message ***

35 years ago*** empty log message ***
Panayotis Skordos [Fri, 29 Dec 1989 20:41:06 +0000 (20:41 +0000)]
*** empty log message ***

35 years agoFix definitions of `complex:acos' and `complex:angle' to handle
Chris Hanson [Fri, 29 Dec 1989 19:19:12 +0000 (19:19 +0000)]
Fix definitions of `complex:acos' and `complex:angle' to handle
boundary conditions.

35 years agoChange definitions of 2/3-operand register-allocation procedures.
Chris Hanson [Wed, 20 Dec 1989 22:42:20 +0000 (22:42 +0000)]
Change definitions of 2/3-operand register-allocation procedures.

35 years agoFlush 2/3-operand register allocation procedures.
Chris Hanson [Wed, 20 Dec 1989 22:20:15 +0000 (22:20 +0000)]
Flush 2/3-operand register allocation procedures.

35 years agographics and debug changes
Panayotis Skordos [Wed, 20 Dec 1989 18:03:39 +0000 (18:03 +0000)]
graphics and debug changes

35 years agoChange format used by the "Y" command.
Chris Hanson [Tue, 19 Dec 1989 15:37:09 +0000 (15:37 +0000)]
Change format used by the "Y" command.

35 years agoIn `trace-display', no-argument case was putting close bracket at
Chris Hanson [Thu, 14 Dec 1989 23:05:44 +0000 (23:05 +0000)]
In `trace-display', no-argument case was putting close bracket at
beginning of empty line, when it should have been at the end of the
previous line.

35 years ago* Take advantage of new entry points in compiled code interface.
Chris Hanson [Mon, 11 Dec 1989 07:15:11 +0000 (07:15 +0000)]
* Take advantage of new entry points in compiled code interface.
These changes require microcode 11.16 or later.

* Use BFEXTU instruction to extract type field.  This instruction is
both faster and smaller than the previous sequence, for both 6 and 8
bit types.  Use BFTST instruction to test for zero types.
Conditionalize use of the bit-field instructions on the new flag
`use-68020-instructions?'; I don't believe that we're using any other
68020-specific instructions besides these.

* Add rule for 1-arg fixnum predicates that tries to take advantage of
the preceding LSL.L instruction to test the number, rather than
emitting a redundant TST.L; this new rule is always used in generic
arithmetic expansions.

35 years ago* Take advantage of new entry points in compiled code interface.
Chris Hanson [Mon, 11 Dec 1989 06:17:06 +0000 (06:17 +0000)]
* Take advantage of new entry points in compiled code interface.
These changes require microcode 11.16 or later.

* Use BFEXTU instruction to extract type field.  This instruction is
both faster and smaller than the previous sequence, for both 6 and 8
bit types.  Use BFTST instruction to test for zero types.
Conditionalize use of the bit-field instructions on the new flag
`use-68020-instructions?'; I don't believe that we're using any other
68020-specific instructions besides these.

* Add rule for 1-arg fixnum predicates that tries to take advantage of
the preceding LSL.L instruction to test the number, rather than
emitting a redundant TST.L; this new rule is always used in generic
arithmetic expansions.

35 years agoIn the 680x0 compiled-code interface, added entry points for many
Chris Hanson [Sun, 10 Dec 1989 00:50:36 +0000 (00:50 +0000)]
In the 680x0 compiled-code interface, added entry points for many
common entries; also added special entries for `apply' of small frame
sizes.  These entry points save space in the compiled code,
eliminating the code expansion caused by the recent upgrade of the
compiled-code interface.

35 years agoAdd new primitive `file-attributes-indirect' that uses `stat' instead
Chris Hanson [Fri, 8 Dec 1989 01:52:17 +0000 (01:52 +0000)]
Add new primitive `file-attributes-indirect' that uses `stat' instead
of `lstat'.  Change `file-modification-time' to use it.

35 years agoAdd new primitive `file-attributes-indirect' that uses `stat' instead
Chris Hanson [Fri, 8 Dec 1989 01:50:01 +0000 (01:50 +0000)]
Add new primitive `file-attributes-indirect' that uses `stat' instead
of `lstat'.

35 years agoCause floating-overflow traps to signal at all times. Change hardware
Chris Hanson [Thu, 7 Dec 1989 05:54:59 +0000 (05:54 +0000)]
Cause floating-overflow traps to signal at all times.  Change hardware
trap frames to contain the "code" passed into the signal handler.

35 years agoMake sure that time reports appear in decimal notation.
Chris Hanson [Thu, 7 Dec 1989 05:39:36 +0000 (05:39 +0000)]
Make sure that time reports appear in decimal notation.

35 years agoAdjust parser for hardware trap frames to account for extra object
Chris Hanson [Thu, 7 Dec 1989 05:36:28 +0000 (05:36 +0000)]
Adjust parser for hardware trap frames to account for extra object
pushed by microcode.

35 years agoIf a microcode error is missing a handler, report the error without
Chris Hanson [Thu, 7 Dec 1989 05:32:23 +0000 (05:32 +0000)]
If a microcode error is missing a handler, report the error without
special handling for the irritants.

35 years agoIf a microcode error is missing a handler, report the error without
Chris Hanson [Thu, 7 Dec 1989 05:06:30 +0000 (05:06 +0000)]
If a microcode error is missing a handler, report the error without
special handling for the irritants.

35 years agoFix masking bug in `compiled_entry_type'.
Chris Hanson [Thu, 7 Dec 1989 04:49:20 +0000 (04:49 +0000)]
Fix masking bug in `compiled_entry_type'.

35 years agoModify comments to match the compiler and cmpaux-hppa.h
Guillermo J. Rozas [Wed, 6 Dec 1989 10:56:13 +0000 (10:56 +0000)]
Modify comments to match the compiler and cmpaux-hppa.h

35 years agoAdd store_closure_code hook to save code space.
Guillermo J. Rozas [Wed, 6 Dec 1989 10:55:37 +0000 (10:55 +0000)]
Add store_closure_code hook to save code space.

35 years agoFix bug in code that detects whether the manifest closure count can be read.
Guillermo J. Rozas [Wed, 6 Dec 1989 05:49:28 +0000 (05:49 +0000)]
Fix bug in code that detects whether the manifest closure count can be read.
The area forced to memory did not in fact include the count, so the
count read was garbage.

35 years agoDon't consider `cons-closure' to be a trivial RTL expression.
Chris Hanson [Tue, 5 Dec 1989 23:55:00 +0000 (23:55 +0000)]
Don't consider `cons-closure' to be a trivial RTL expression.

35 years agoTypo.
Chris Hanson [Tue, 5 Dec 1989 21:01:21 +0000 (21:01 +0000)]
Typo.

35 years ago- Conditionalize open coding according to the port.
Guillermo J. Rozas [Tue, 5 Dec 1989 20:54:08 +0000 (20:54 +0000)]
- Conditionalize open coding according to the port.
There is now a machine-dependent list
(compiler:primitives-with-no-open-coding) in machin.scm which disables
individual primitives.

- Extend fixnum and flonum operations with an overflow? flag.

- Force use of address registers for indirection.

- Don't emit dynamic-link comparison unless the called procedure is
known to be internal.

35 years agoConditionalize open coding according to the port.
Guillermo J. Rozas [Tue, 5 Dec 1989 20:52:40 +0000 (20:52 +0000)]
Conditionalize open coding according to the port.
There is now a machine-dependent list
(compiler:primitives-with-no-open-coding) in machin.scm which disables
individual primitives.

35 years agoExtend fixnum and flonum operations with an overflow? flag.
Guillermo J. Rozas [Tue, 5 Dec 1989 20:52:20 +0000 (20:52 +0000)]
Extend fixnum and flonum operations with an overflow? flag.

35 years agoForce use of address registers for indirection. If the register is
Chris Hanson [Tue, 5 Dec 1989 20:39:58 +0000 (20:39 +0000)]
Force use of address registers for indirection.  If the register is
used once, the cost is about the same in both space and time.
However, if it is used more than once, this is both faster and
smaller.

35 years agoSplit `machine-register-reference' to create new procedure
Chris Hanson [Tue, 5 Dec 1989 20:38:22 +0000 (20:38 +0000)]
Split `machine-register-reference' to create new procedure
`guarantee-alias-register!'.  This new procedure is like
`load-alias-register!' except that it accepts a machine register as an
argument and handles it appropriately.

35 years agoWhen compiling a reduction whose caller uses a dynamic link, don't
Chris Hanson [Tue, 5 Dec 1989 20:17:13 +0000 (20:17 +0000)]
When compiling a reduction whose caller uses a dynamic link, don't
output link comparison code unless the callee is known to be an
internal procedure.

35 years agoChange `move-frame-up' rule to use "mov" rather than "lea" when the
Chris Hanson [Tue, 5 Dec 1989 20:15:12 +0000 (20:15 +0000)]
Change `move-frame-up' rule to use "mov" rather than "lea" when the
source is an address register.

35 years agoInitial revision
Guillermo J. Rozas [Mon, 4 Dec 1989 21:49:35 +0000 (21:49 +0000)]
Initial revision

35 years agoNew compiled code interface.
Guillermo J. Rozas [Mon, 4 Dec 1989 21:46:27 +0000 (21:46 +0000)]
New compiled code interface.

35 years agoAdd three operand utilities for Vax, RISC, etc.
Guillermo J. Rozas [Mon, 4 Dec 1989 15:34:40 +0000 (15:34 +0000)]
Add three operand utilities for Vax, RISC, etc.

Add copy-to-special-register.

35 years agoAdd scheme_to_interface_ble that falls through to
Guillermo J. Rozas [Sun, 3 Dec 1989 13:09:51 +0000 (13:09 +0000)]
Add scheme_to_interface_ble that falls through to
trampoline_to_interface.  GR3 now holds the address of
scheme_to_interface_ble.

35 years agoDon't undrift a procedure if the only reason for doing so is contagion
Chris Hanson [Sat, 2 Dec 1989 21:19:29 +0000 (21:19 +0000)]
Don't undrift a procedure if the only reason for doing so is contagion
from trivial closures.

35 years agoForce compilation times to be written out in decimal notation.
Chris Hanson [Sat, 2 Dec 1989 05:03:24 +0000 (05:03 +0000)]
Force compilation times to be written out in decimal notation.

35 years agoAdd compiler support for spectrum, and change compiler support to use
Guillermo J. Rozas [Thu, 30 Nov 1989 21:16:41 +0000 (21:16 +0000)]
Add compiler support for spectrum, and change compiler support to use
the C version.

35 years agoNew compiled code interface written in C.
Guillermo J. Rozas [Thu, 30 Nov 1989 16:07:41 +0000 (16:07 +0000)]
New compiled code interface written in C.

Old hooks have been removed and the register block has been
restructured.

35 years agoNew compiled code interface written in C.
Guillermo J. Rozas [Thu, 30 Nov 1989 16:03:27 +0000 (16:03 +0000)]
New compiled code interface written in C.

rtl-procedures now included a field that specifies whether they
need a dynamic link so that the interrupt handler can be determined at
compile time.

35 years agoNew compiled code interface written in C.
Guillermo J. Rozas [Thu, 30 Nov 1989 15:57:16 +0000 (15:57 +0000)]
New compiled code interface written in C.

35 years agoInitial revision
Guillermo J. Rozas [Thu, 30 Nov 1989 15:54:29 +0000 (15:54 +0000)]
Initial revision

35 years agoFix bug in `expt': zero raised to an integer power always returned
Chris Hanson [Thu, 30 Nov 1989 07:52:42 +0000 (07:52 +0000)]
Fix bug in `expt': zero raised to an integer power always returned
one.  Fix bug in `asin': real arguments of magnitude larger than one
should be handled specially.

35 years agoClean up machine dependent initialization. The assembly language
Guillermo J. Rozas [Thu, 30 Nov 1989 05:45:25 +0000 (05:45 +0000)]
Clean up machine dependent initialization.  The assembly language
hooks are now set up by a procedure in this code.

35 years ago- Remove temporary compatibility code and old initialization code.
Guillermo J. Rozas [Thu, 30 Nov 1989 05:44:04 +0000 (05:44 +0000)]
- Remove temporary compatibility code and old initialization code.
  The hooks are now set up by code in cmpint-mc68k.h .

- Add an initialization procedure to diddle with the 68881.

35 years agoClean up machine dependent initialization.
Guillermo J. Rozas [Thu, 30 Nov 1989 05:42:46 +0000 (05:42 +0000)]
Clean up machine dependent initialization.

35 years agoFix bug in Do_Compiled_Entry: OBJECT_NEW_DATUM was incorrectly used
Guillermo J. Rozas [Thu, 30 Nov 1989 05:32:10 +0000 (05:32 +0000)]
Fix bug in Do_Compiled_Entry: OBJECT_NEW_DATUM was incorrectly used
for MAKE_OBJECT, and thus all compiled entries were being dumped as
nulls with non-zero datum fields.

35 years agoFix bug in boot.c by which GC_Reserve was set after MemTop was
Guillermo J. Rozas [Thu, 30 Nov 1989 03:04:15 +0000 (03:04 +0000)]
Fix bug in boot.c by which GC_Reserve was set after MemTop was
computed in Clear_Memory.  GC_Reserve is now set by Clear_Memory.

Rename Heap_In_Low_Memory to HEAP_IN_LOW_MEMORY.

Clean up Spectrum stuff and remove previous version of the quad bit
kludge which forced 8 bit type codes to be used.

35 years agoAdd a comment about a future improvement to eliminate the delay slot
Guillermo J. Rozas [Tue, 28 Nov 1989 21:12:51 +0000 (21:12 +0000)]
Add a comment about a future improvement to eliminate the delay slot
nullification in execute cache cells.

35 years agoDocument trampolines and interrupt checks.
Guillermo J. Rozas [Tue, 28 Nov 1989 15:56:16 +0000 (15:56 +0000)]
Document trampolines and interrupt checks.

35 years agoMake EXTRACT_ABSOLUTE_ADDRESS and STORE_ABSOLUTE_ADDRESS call
Guillermo J. Rozas [Tue, 28 Nov 1989 13:08:51 +0000 (13:08 +0000)]
Make EXTRACT_ABSOLUTE_ADDRESS and STORE_ABSOLUTE_ADDRESS call
out-of-line procedures which use bit fields rather than masks.

35 years agoAdd a IN_CMPINT_C flag so that cmpint2.h can insert code.
Guillermo J. Rozas [Tue, 28 Nov 1989 13:07:50 +0000 (13:07 +0000)]
Add a IN_CMPINT_C flag so that cmpint2.h can insert code.

35 years agoFix segment and subsegment directives.
Guillermo J. Rozas [Tue, 28 Nov 1989 05:06:33 +0000 (05:06 +0000)]
Fix segment and subsegment directives.
Fix table load instruction to use short pointer-specified segment.

35 years agoAdd a missing + sign in the computation of REGBLOCK_SIZE.
Guillermo J. Rozas [Tue, 28 Nov 1989 05:03:10 +0000 (05:03 +0000)]
Add a missing + sign in the computation of REGBLOCK_SIZE.

35 years agoFix the encoding of the space register on the instructions that take
Guillermo J. Rozas [Tue, 28 Nov 1989 05:00:45 +0000 (05:00 +0000)]
Fix the encoding of the space register on the instructions that take
a 3-bit space register code.

Remove COMPILER_HOOK_SIZE, no longer needed.

Remove ASM_REGBLOCK and ASM_RESET_HOOK.

35 years agoWhen interconverting ticks and seconds, represent seconds as inexact
Chris Hanson [Tue, 28 Nov 1989 01:28:19 +0000 (01:28 +0000)]
When interconverting ticks and seconds, represent seconds as inexact
numbers and ticks as exact integers.

35 years agoFix a bug in bignum printing.
Guillermo J. Rozas [Mon, 27 Nov 1989 21:57:01 +0000 (21:57 +0000)]
Fix a bug in bignum printing.

35 years agoConditionalize according to HAS_COMPILER_SUPPORT and insert the code
Guillermo J. Rozas [Mon, 27 Nov 1989 20:25:42 +0000 (20:25 +0000)]
Conditionalize according to HAS_COMPILER_SUPPORT and insert the code
previously in compiler.c for the case when there is no support.

35 years agoRemove casts from scalars on the left hand side of assignments. GCC
Guillermo J. Rozas [Mon, 27 Nov 1989 20:23:19 +0000 (20:23 +0000)]
Remove casts from scalars on the left hand side of assignments.  GCC
understands that, but the HP C compiler does not.

35 years agoRemove casts from scalars on the left hand side of assignments. GCC
Guillermo J. Rozas [Mon, 27 Nov 1989 20:22:42 +0000 (20:22 +0000)]
Remove casts from scalars on the left hand side of assignments.  GCC
understands that, but the HP C compiler does not.

35 years agoFix the comment specifying where further documentation may be found.
Guillermo J. Rozas [Mon, 27 Nov 1989 20:21:20 +0000 (20:21 +0000)]
Fix the comment specifying where further documentation may be found.

35 years agoChange all variables assigned by EXTRACT_EXECUTE_CACHE_ADDRESS, etc.
Guillermo J. Rozas [Mon, 27 Nov 1989 20:20:26 +0000 (20:20 +0000)]
Change all variables assigned by EXTRACT_EXECUTE_CACHE_ADDRESS, etc.
to have consisten types.

35 years agoFix typo.
Guillermo J. Rozas [Mon, 27 Nov 1989 18:25:40 +0000 (18:25 +0000)]
Fix typo.

35 years agoFix the LDIL assembly and disassembly. The bits are not contiguous!
Guillermo J. Rozas [Mon, 27 Nov 1989 18:16:04 +0000 (18:16 +0000)]
Fix the LDIL assembly and disassembly.  The bits are not contiguous!

35 years agoAdd save/restore code for registers 15-18, also callee-saves.
Guillermo J. Rozas [Mon, 27 Nov 1989 16:14:00 +0000 (16:14 +0000)]
Add save/restore code for registers 15-18, also callee-saves.

35 years agoFinish translating to Spectrum instruction set.
Guillermo J. Rozas [Mon, 27 Nov 1989 16:12:48 +0000 (16:12 +0000)]
Finish translating to Spectrum instruction set.

35 years agoMake R3 hold trampoline_to_interface rather than scheme_to_interface.
Guillermo J. Rozas [Mon, 27 Nov 1989 03:31:40 +0000 (03:31 +0000)]
Make R3 hold trampoline_to_interface rather than scheme_to_interface.
scheme_to_interface is 4 bytes beyond trampoline_to_interface, so
it can be reached from the same register.

Fix the space register in the BLE instruction that invokes the
handler. We are jumping into code space, and the BLE instruction
does not understand short pointers.

35 years agoInitial revision
Guillermo J. Rozas [Mon, 27 Nov 1989 03:29:16 +0000 (03:29 +0000)]
Initial revision

35 years agoClean up the mess with machine_word.
Guillermo J. Rozas [Mon, 27 Nov 1989 01:03:04 +0000 (01:03 +0000)]
Clean up the mess with machine_word.

35 years agoClean up the mess with machine_word.
Guillermo J. Rozas [Sun, 26 Nov 1989 17:38:57 +0000 (17:38 +0000)]
Clean up the mess with machine_word.

35 years agoFix comment in header.
Guillermo J. Rozas [Sun, 26 Nov 1989 01:50:00 +0000 (01:50 +0000)]
Fix comment in header.

35 years agoUpdate to match the newer cmpint-md.h
Guillermo J. Rozas [Thu, 23 Nov 1989 21:32:46 +0000 (21:32 +0000)]
Update to match the newer cmpint-md.h

35 years agoInitial revision
Guillermo J. Rozas [Thu, 23 Nov 1989 19:52:04 +0000 (19:52 +0000)]
Initial revision

35 years agoChange the comment at the beginning to make it a little clearer and
Guillermo J. Rozas [Thu, 23 Nov 1989 19:51:10 +0000 (19:51 +0000)]
Change the comment at the beginning to make it a little clearer and
general.

Add shortcircuit_apply.

Reorganize the code so that the core, the optimizations, and the
backwards compatibility code are clearly separated.

35 years agoFix a bug backing out of apply. The procedure and number of arguments
Guillermo J. Rozas [Wed, 22 Nov 1989 16:29:55 +0000 (16:29 +0000)]
Fix a bug backing out of apply.  The procedure and number of arguments
were not being pused on the stack consistently, so there were some
paths that could not restart on interrupt, for example.

35 years agoRemove the patch in comentry_lexpr_apply used to temporarily overcome
Guillermo J. Rozas [Tue, 21 Nov 1989 23:32:09 +0000 (23:32 +0000)]
Remove the patch in comentry_lexpr_apply used to temporarily overcome
the fact that dynamic links were not correctly preserved.
The compiler has been fixed, and the patch is no longer necessary.

35 years agoFix a bug in comutil_operator_lexpr_trap.
Guillermo J. Rozas [Tue, 21 Nov 1989 23:31:05 +0000 (23:31 +0000)]
Fix a bug in comutil_operator_lexpr_trap.
The number of arguments stored in the trampoline is 1 greater than the
number of actual arguments passed, but the primitive convention
expects the correct number.

35 years agoFix a bug in local lexprs. The dynamic link register was not
Guillermo J. Rozas [Tue, 21 Nov 1989 22:21:34 +0000 (22:21 +0000)]
Fix a bug in local lexprs.  The dynamic link register was not
preserved accross the call to lexpr-apply.  On the 68k, a gc in
lexpr-apply would corrupt the dynamic link.  On the portable
interface, it was always corrupted.

35 years agoIf `fasload' fails to load debugging information for some reason,
Chris Hanson [Tue, 21 Nov 1989 00:00:31 +0000 (00:00 +0000)]
If `fasload' fails to load debugging information for some reason,
recover and pretend that the debugging info doesn't exist.

35 years agoSimple changes:
Guillermo J. Rozas [Mon, 20 Nov 1989 23:19:36 +0000 (23:19 +0000)]
Simple changes:

- Fix a bug: interface_to_C was not restoring the registers saved by
C_to_interface.

- Add scheme_to_interface_jsr entry point.

- Add a temporary patch to lexpr_apply to prevent the dynamic link
register from being clobbered.

- Add some conditionally assembled code to keep a limited history of
calls from compiled code to the interface.

35 years agoFix a small bug in compiler_interrupt_common: state was not being
Guillermo J. Rozas [Mon, 20 Nov 1989 23:13:16 +0000 (23:13 +0000)]
Fix a small bug in compiler_interrupt_common: state was not being
restored when the interrupt was dismissed.

35 years agoRules that perform index->fixnum conversions must use arithmetic left
Chris Hanson [Wed, 15 Nov 1989 02:48:07 +0000 (02:48 +0000)]
Rules that perform index->fixnum conversions must use arithmetic left
shift so that proper testing for overflow can occur.  The reason:
these rules also get invoked by generic arithmetic because the code
compressor sees them and combines instruction pairs to use them.

35 years agoAdd several missing `int:' prefixes to `ratnum->flonum'. Fix argument
Chris Hanson [Wed, 15 Nov 1989 02:47:09 +0000 (02:47 +0000)]
Add several missing `int:' prefixes to `ratnum->flonum'.  Fix argument
order to `real:atan2' in `complex:angle'.  Fix exact integer argument
test in `real:atan2'.  Add code to perform exact `expt' when the first
argument is a recnum and the second is an exact integer.

35 years agoDefine `int:>' as an integrable constant.
Chris Hanson [Wed, 15 Nov 1989 02:44:07 +0000 (02:44 +0000)]
Define `int:>' as an integrable constant.

35 years agoRules that perform index->fixnum conversions must use arithmetic left
Chris Hanson [Wed, 15 Nov 1989 02:40:21 +0000 (02:40 +0000)]
Rules that perform index->fixnum conversions must use arithmetic left
shift so that proper testing for overflow can occur.  The reason:
these rules also get invoked by generic arithmetic because the code
compressor sees them and combines instruction pairs to use them.

35 years agoAdd a heuristic check to fasload so that it won't get into an infinite
Guillermo J. Rozas [Sat, 11 Nov 1989 19:13:17 +0000 (19:13 +0000)]
Add a heuristic check to fasload so that it won't get into an infinite
loop trying to load something when there is no space.

Merge in Mike Clarkson's changes to x11term.c

Add a new file: x11xtra.c which includes some additional x11 xterm
functionality (scrolling and screen saving/restoring).

35 years agoFixed os/trim-pathname-string() to have "end" point to the end of the
Mark Friedman [Fri, 10 Nov 1989 16:18:42 +0000 (16:18 +0000)]
Fixed os/trim-pathname-string() to have "end" point to the end of the
string, not to one past the end. The old behavior caused it to barf
when presented with a string with a slash at the end (it barfed on the
string-ref in "... ((memv ..."

35 years agoFix bug in *, t he call to reduce was incorrect.
Guillermo J. Rozas [Thu, 9 Nov 1989 22:07:48 +0000 (22:07 +0000)]
Fix bug in *, t he call to reduce was incorrect.