mit-scheme.git
36 years agoInitial revision
Joe Marshall [Wed, 15 Jun 1988 18:21:19 +0000 (18:21 +0000)]
Initial revision

36 years agoAdd procedures DISCRIMINATE-COMPILED-ENTRY and
Joe Marshall [Wed, 15 Jun 1988 16:04:05 +0000 (16:04 +0000)]
Add procedures DISCRIMINATE-COMPILED-ENTRY and
COMPILED-CODE-BLOCK/MANIFEST-CLOSURE?

36 years agoDo not unsyntax a `make-environment' special form unless the last
Chris Hanson [Tue, 14 Jun 1988 14:45:31 +0000 (14:45 +0000)]
Do not unsyntax a `make-environment' special form unless the last
action in its body is `the-environment'.

36 years agoAlways load compiled if possible. Adjust version to agree with RCS
Chris Hanson [Tue, 14 Jun 1988 10:32:05 +0000 (10:32 +0000)]
Always load compiled if possible.  Adjust version to agree with RCS
version.

36 years agoAdjust formatting of package filenames.
Chris Hanson [Tue, 14 Jun 1988 10:29:46 +0000 (10:29 +0000)]
Adjust formatting of package filenames.

36 years agoMerge in vector range checking.
Chris Hanson [Tue, 14 Jun 1988 09:38:11 +0000 (09:38 +0000)]
Merge in vector range checking.

36 years agoMerge in vector range checking.
Chris Hanson [Tue, 14 Jun 1988 09:11:03 +0000 (09:11 +0000)]
Merge in vector range checking.

36 years agoInitial revision
Chris Hanson [Tue, 14 Jun 1988 08:58:17 +0000 (08:58 +0000)]
Initial revision

36 years agoFirst checkin for runtime system version 14.
Chris Hanson [Tue, 14 Jun 1988 08:55:55 +0000 (08:55 +0000)]
First checkin for runtime system version 14.

36 years agoFirst checkin for runtime system version 14.
Chris Hanson [Tue, 14 Jun 1988 08:48:58 +0000 (08:48 +0000)]
First checkin for runtime system version 14.

36 years agoFirst checkin for runtime version 14.
Chris Hanson [Tue, 14 Jun 1988 08:11:04 +0000 (08:11 +0000)]
First checkin for runtime version 14.

36 years ago*** empty log message ***
Chris Hanson [Mon, 13 Jun 1988 13:06:17 +0000 (13:06 +0000)]
*** empty log message ***

36 years ago*** empty log message ***
Chris Hanson [Mon, 13 Jun 1988 13:05:41 +0000 (13:05 +0000)]
*** empty log message ***

36 years agoInitial revision
Chris Hanson [Mon, 13 Jun 1988 12:38:37 +0000 (12:38 +0000)]
Initial revision

36 years agoFirst checkin for runtime system version 14.
Chris Hanson [Mon, 13 Jun 1988 12:31:31 +0000 (12:31 +0000)]
First checkin for runtime system version 14.

36 years agoFirst checkin for version 14.
Chris Hanson [Mon, 13 Jun 1988 12:07:50 +0000 (12:07 +0000)]
First checkin for version 14.

36 years agoFirst checkin for version 14.
Chris Hanson [Mon, 13 Jun 1988 12:00:56 +0000 (12:00 +0000)]
First checkin for version 14.

36 years ago*** empty log message ***
Chris Hanson [Mon, 13 Jun 1988 10:50:01 +0000 (10:50 +0000)]
*** empty log message ***

36 years agoFix nasty bug in tty interrupt code. The symptom of the bug was:
Chris Hanson [Fri, 10 Jun 1988 07:58:04 +0000 (07:58 +0000)]
Fix nasty bug in tty interrupt code.  The symptom of the bug was:
typing ^G while the microcode was in `TYI_Immediate' caused the next
read from the tty to get EOF; subsequently Scheme signalled TERM_EOF.
The problem was that there was local storage in `TYI_Immediate', which
contained trash after the interrupt performed a `longjmp' back into
the procedure.  According to the definition of `setjmp', it is illegal
to depend on such local storage.  We are unlucky in that only a little
bit of the local storage was affected so it took a long time to notice
this problem.

This was fixed by introducing a fluid-binding mechanism to allocate
and deallocate local state.  There may be a problem with the
interaction between `longjmp' and this mechanism.  If we `longjmp'
past the deallocation routine the world will be messed up.

36 years agoFix to bitstr.c
Joe Marshall [Wed, 8 Jun 1988 16:10:06 +0000 (16:10 +0000)]
Fix to bitstr.c

36 years agoAttempt to fix one path through copy bits. I think this works,
Joe Marshall [Wed, 8 Jun 1988 16:05:31 +0000 (16:05 +0000)]
Attempt to fix one path through copy bits.  I think this works,
but I make no claims about understanding why.

36 years agoAdd new escape sequence which tells Emacs to change the working
Chris Hanson [Tue, 7 Jun 1988 16:43:10 +0000 (16:43 +0000)]
Add new escape sequence which tells Emacs to change the working
directory of the Scheme process buffer.

36 years agoAdded complex number arithmetic (no trancendentals).
Henry M. Wu [Sun, 5 Jun 1988 00:59:25 +0000 (00:59 +0000)]
Added complex number arithmetic (no trancendentals).

36 years agoAdded complex number abstraction.
Henry M. Wu [Sat, 4 Jun 1988 23:23:21 +0000 (23:23 +0000)]
Added complex number abstraction.

36 years ago(cse/assign) Notice pops from stack and adjust stack pointer
Chris Hanson [Fri, 3 Jun 1988 23:54:57 +0000 (23:54 +0000)]
(cse/assign) Notice pops from stack and adjust stack pointer
accordingly.  Can't understand why this wasn't noticed before.

36 years agoVariety of bug fixes. Also revert this file so that the names
Chris Hanson [Fri, 3 Jun 1988 15:14:13 +0000 (15:14 +0000)]
Variety of bug fixes.  Also revert this file so that the names
exported from the compiler package are put directly in the global
environment, instead of the environment into which the file is loaded.

36 years ago(hash-table-insert!) If `hash' is false, do not link the resulting
Chris Hanson [Fri, 3 Jun 1988 14:58:15 +0000 (14:58 +0000)]
(hash-table-insert!) If `hash' is false, do not link the resulting
element into a hash bucket -- just save it in the value chain.

36 years ago(invalidate-memory-destination!) Optimize this -- if both class and
Chris Hanson [Fri, 3 Jun 1988 14:56:55 +0000 (14:56 +0000)]
(invalidate-memory-destination!) Optimize this -- if both class and
hash are not given, don't bother to insert the element in the hash
table, because it will have no useful effect.

36 years ago(assignment-memory-insertion) Do not perform CSE on the memory
Chris Hanson [Fri, 3 Jun 1988 14:54:29 +0000 (14:54 +0000)]
(assignment-memory-insertion) Do not perform CSE on the memory
address.  Doing that causes problems because the memory address cannot
be distinguished from a reference to that address.  The RTL should be
fixed so that these things are distinguished, and then we can
re-enable memory address CSE.

36 years ago(add-pseudo-register-alias) Delete the alias from the register map
Chris Hanson [Fri, 3 Jun 1988 14:51:51 +0000 (14:51 +0000)]
(add-pseudo-register-alias) Delete the alias from the register map
first.  This prevents the map from having two entries for the same
alias, one of which is incorrect.

36 years agoChange `compiler:write-rtl-file' to do defaulting of file type
Chris Hanson [Fri, 3 Jun 1988 14:50:41 +0000 (14:50 +0000)]
Change `compiler:write-rtl-file' to do defaulting of file type
differently, and to allow an optional output file argument.

36 years agoAdd new rule.
Chris Hanson [Sat, 28 May 1988 04:11:13 +0000 (04:11 +0000)]
Add new rule.

36 years ago*** empty log message ***
Chris Hanson [Fri, 20 May 1988 01:06:12 +0000 (01:06 +0000)]
*** empty log message ***

36 years agoOops. Small bug with fixnum additions and subtractions of constants.
Mark Friedman [Thu, 19 May 1988 18:37:36 +0000 (18:37 +0000)]
Oops. Small bug with fixnum additions and subtractions of constants.

36 years agoopen coded vector-ref and vector-set! for non-constant
Mark Friedman [Thu, 19 May 1988 15:39:50 +0000 (15:39 +0000)]
open coded vector-ref and vector-set! for non-constant
indices.

36 years agoAdded expression cost for FIXNUM->OBJECT.
Mark Friedman [Thu, 19 May 1988 15:32:53 +0000 (15:32 +0000)]
Added expression cost for FIXNUM->OBJECT.
Subtracted the boxing cost for the fixnum operations
because we now do the boxing explicitly via FIXNUM->OBJECT.

36 years agoFixed code for fixnum operations involving constants.
Mark Friedman [Thu, 19 May 1988 15:29:00 +0000 (15:29 +0000)]
Fixed code for fixnum operations involving constants.
Multiplication by a power of 2 becomes a shift.
If the fixnum operation is commutative and involves a
constant, better code may be generated by swaping the
order of the operands. This is now done.

36 years agoAdded support for FIXNUM->OBJECT rtl type.
Mark Friedman [Thu, 19 May 1988 15:26:57 +0000 (15:26 +0000)]
Added support for FIXNUM->OBJECT rtl type.
Removed the implicit boxing of fixnum operations
because it is now done explicitly by FIXNUM->OBJECT.

36 years agoAdded an explicit FIXNUM->OBJECT rtl type for eventual
Mark Friedman [Thu, 19 May 1988 15:22:46 +0000 (15:22 +0000)]
Added an explicit FIXNUM->OBJECT rtl type for eventual
support for reusing the unboxed results of fixnum operations

36 years agoOpen coded vector-ref and vector-set! with non-constant indices.
Mark Friedman [Thu, 19 May 1988 15:10:36 +0000 (15:10 +0000)]
Open coded vector-ref and vector-set! with non-constant indices.
No index range checking yet.
Commented out code for open codinf of system-... functions with
side effects. These were causing an esoteric GC problem.

36 years agoFix bug in INTERPRETER-REGISTER. It now checks whether the offset is
Guillermo J. Rozas [Thu, 19 May 1988 01:47:37 +0000 (01:47 +0000)]
Fix bug in INTERPRETER-REGISTER.  It now checks whether the offset is
a known offset directly, and if not, it tries the aligned version
instead.  The bug was noticed because interpreter entries are 6 bytes
long, so only half of them are aligned, and the others were not found.

36 years agoCharacter Stuff.
Henry M. Wu [Tue, 17 May 1988 16:57:01 +0000 (16:57 +0000)]
Character Stuff.

36 years agoDisassembler changes:
Guillermo J. Rozas [Sat, 14 May 1988 16:20:17 +0000 (16:20 +0000)]
Disassembler changes:

- Fix unbound variable bugs in the disassembler.
- Fix symbolic/numeric register bug.
- Fix bug backing out of undefined instructions.
- Make bad 68020 extended forms back out instead of causing errors.
- Add handlers for 68020 32/64 bit multiplication and division.

36 years agoAdd aliases for `object-new-type' and `primitive-object-new-type'.
Chris Hanson [Fri, 13 May 1988 03:01:07 +0000 (03:01 +0000)]
Add aliases for `object-new-type' and `primitive-object-new-type'.

36 years agoConditionalize phase error test so that it is ignored if
Chris Hanson [Thu, 12 May 1988 22:28:29 +0000 (22:28 +0000)]
Conditionalize phase error test so that it is ignored if
FLOATING_ALIGNMENT is defined.  This will eventually be fixed
correctly.

36 years agoBugs: `object-gc-type' was using `MAKE_UNSIGNED_FIXNUM' to compute its
Chris Hanson [Wed, 11 May 1988 17:21:16 +0000 (17:21 +0000)]
Bugs: `object-gc-type' was using `MAKE_UNSIGNED_FIXNUM' to compute its
result when in fact the result was signed.  `object-set-type' was
going to `Microcode_Termination' when its first argument was an
unknown type code, rather than signalling a bad-range error.

36 years agoInitial revision
Guillermo J. Rozas [Wed, 11 May 1988 04:20:07 +0000 (04:20 +0000)]
Initial revision

36 years agoAdd a REDUCE-OPERATOR declaration so that users can get the same
Guillermo J. Rozas [Wed, 11 May 1988 04:19:27 +0000 (04:19 +0000)]
Add a REDUCE-OPERATOR declaration so that users can get the same
functionality as the system already provides for +, -, list, etc.

Shorten some of the warning messages.

36 years agoAdded knowledge of byte/char operations
Henry M. Wu [Tue, 10 May 1988 19:53:41 +0000 (19:53 +0000)]
Added knowledge of byte/char operations

36 years agoChange type check on first argument to `dump-band' to include all
Chris Hanson [Tue, 10 May 1988 18:14:04 +0000 (18:14 +0000)]
Change type check on first argument to `dump-band' to include all
applicable types.

Change definitions of SMALLEST_FIXNUM and BIGGEST_FIXNUM to have
explicit casts to long type.  Previously this was automatically true
but ANSI C forces such constants to be unsigned long instead.

36 years agoChange type check on first argument to `dump-band' to include all
Chris Hanson [Tue, 10 May 1988 18:12:45 +0000 (18:12 +0000)]
Change type check on first argument to `dump-band' to include all
applicable types.

36 years agoChange definitions of SMALLEST_FIXNUM and BIGGEST_FIXNUM to have
Chris Hanson [Tue, 10 May 1988 17:34:41 +0000 (17:34 +0000)]
Change definitions of SMALLEST_FIXNUM and BIGGEST_FIXNUM to have
explicit casts to long type.  Previously this was automatically true
but ANSI C forces such constants to be unsigned long instead.

36 years agoMove `get-fluid-bindings' and `set-fluid-bindings!' into the normal
Chris Hanson [Tue, 10 May 1988 15:16:46 +0000 (15:16 +0000)]
Move `get-fluid-bindings' and `set-fluid-bindings!' into the normal
microcode.  This allows the new runtime system to have the hooks for
fluid-bindings even if they aren't in use.

36 years agoCHAR/STRING open-coding, bug fix
Henry M. Wu [Tue, 10 May 1988 00:38:45 +0000 (00:38 +0000)]
CHAR/STRING open-coding, bug fix

36 years agoCHAR/STRING open-coding, bug fix
Henry M. Wu [Tue, 10 May 1988 00:10:33 +0000 (00:10 +0000)]
CHAR/STRING open-coding, bug fix

36 years agoCHAR/STRING open-coding
Henry M. Wu [Mon, 9 May 1988 20:01:32 +0000 (20:01 +0000)]
CHAR/STRING open-coding

36 years agoAdded string/char open-coding.
Henry M. Wu [Mon, 9 May 1988 19:57:17 +0000 (19:57 +0000)]
Added string/char open-coding.

36 years agoDefault `load-noisily?' to false. People seem to prefer this.
Chris Hanson [Fri, 6 May 1988 12:40:26 +0000 (12:40 +0000)]
Default `load-noisily?' to false.  People seem to prefer this.

36 years agoUpdate `primitive-purify' to new interface. Forgot to do this one
Chris Hanson [Fri, 6 May 1988 09:09:44 +0000 (09:09 +0000)]
Update `primitive-purify' to new interface.  Forgot to do this one
when the regular version was updated.

36 years agoEliminate random escape from string. Rename variable `string' to
Chris Hanson [Thu, 5 May 1988 09:35:34 +0000 (09:35 +0000)]
Eliminate random escape from string.  Rename variable `string' to
`str' because `string' is a typedef.  HP compiler works but this is
illegal combination.

36 years agoIllegal to take address of a variable that has been declared
Chris Hanson [Thu, 5 May 1988 09:29:44 +0000 (09:29 +0000)]
Illegal to take address of a variable that has been declared
`register'.  HP's compiler never complained by GCC does.

36 years agoChange interface of `primitive-purify' to take an extra argument,
Chris Hanson [Thu, 5 May 1988 08:42:47 +0000 (08:42 +0000)]
Change interface of `primitive-purify' to take an extra argument,
`safety-margin' (which works like the argument to `garbage-collect'),
and returns an extra value (which is like the value of
`garbage-collect').  These changes will allow purify to be used
instead of gc when desired.

36 years ago1) Change -compiler to default parameters, so that they can be
Guillermo J. Rozas [Wed, 4 May 1988 20:44:33 +0000 (20:44 +0000)]
1) Change -compiler to default parameters, so that they can be
overriden with -band, -heap, etc.

2) Add double MC68881 code in hand-coded generic arithmetic for use by
compiled code.

36 years ago1) Change -compiler to default parameters, so that they can be
Guillermo J. Rozas [Wed, 4 May 1988 19:22:12 +0000 (19:22 +0000)]
1) Change -compiler to default parameters, so that they can be
overriden with -band, -heap, etc.

2) Add double MC68881 code in hand-coded generic arithmetic for use by
compiled code.

36 years agoIncrement COMPILER_CONSTANT_SIZE and COMPILER_HEAP_SIZE.
Guillermo J. Rozas [Wed, 4 May 1988 04:17:49 +0000 (04:17 +0000)]
Increment COMPILER_CONSTANT_SIZE and COMPILER_HEAP_SIZE.

36 years agoInitial revision
Guillermo J. Rozas [Tue, 3 May 1988 21:53:15 +0000 (21:53 +0000)]
Initial revision

36 years agoImplement environment-link-name.
Guillermo J. Rozas [Tue, 3 May 1988 19:22:09 +0000 (19:22 +0000)]
Implement environment-link-name.

Split lookup.c into lookup.c and lookprm.c which contains the
primitive procedures to invoke the lookup code.

36 years agoFix paranoia bug in list.scm (map, map*, and for-each were not
Guillermo J. Rozas [Tue, 3 May 1988 19:04:42 +0000 (19:04 +0000)]
Fix paranoia bug in list.scm (map, map*, and for-each were not
paranoid enough).

Add error handlers for environment-link-name.

36 years agoFix paranoia bug in list.scm (map, map*, and for-each were not
Guillermo J. Rozas [Tue, 3 May 1988 18:55:13 +0000 (18:55 +0000)]
Fix paranoia bug in list.scm (map, map*, and for-each were not
paranoid enough).

Add error handlers for environment-link-name.

36 years agoRestore bad-assignment error for environment-link-name.
Guillermo J. Rozas [Tue, 3 May 1988 16:30:39 +0000 (16:30 +0000)]
Restore bad-assignment error for environment-link-name.

36 years agoAdded information on FIXNUM size.
Henry M. Wu [Tue, 3 May 1988 01:09:33 +0000 (01:09 +0000)]
Added information on FIXNUM size.

36 years agoFixed bug with FIXNUM-CONSTANT not sign-extending.
Henry M. Wu [Tue, 3 May 1988 01:04:25 +0000 (01:04 +0000)]
Fixed bug with FIXNUM-CONSTANT not sign-extending.

36 years agoAdded information on FIXNUM size.
Henry M. Wu [Tue, 3 May 1988 00:35:08 +0000 (00:35 +0000)]
Added information on FIXNUM size.

36 years agoAdded information on FIXNUM size.
Henry M. Wu [Mon, 2 May 1988 23:53:41 +0000 (23:53 +0000)]
Added information on FIXNUM size.

37 years agoOOPS. Last version had a missinbg paren.
Mark Friedman [Fri, 29 Apr 1988 15:04:16 +0000 (15:04 +0000)]
OOPS. Last version had a missinbg paren.

37 years agoAdded support for open coding of fixnum arithmetic and predicates.
Mark Friedman [Fri, 29 Apr 1988 14:55:22 +0000 (14:55 +0000)]
Added support for open coding of fixnum arithmetic and predicates.

37 years agoAlways use a pipe to communicate with Scheme even if PTYs are
Chris Hanson [Thu, 28 Apr 1988 18:52:03 +0000 (18:52 +0000)]
Always use a pipe to communicate with Scheme even if PTYs are
available.  Scheme doesn't care and this fixes random PTY bugs.

37 years agoRemoved default mapping between ascii and mit-ascii.
Henry M. Wu [Wed, 27 Apr 1988 18:26:12 +0000 (18:26 +0000)]
Removed default mapping between ascii and mit-ascii.

37 years agoFixed position of meta bit, added ASCII names.
Henry M. Wu [Wed, 27 Apr 1988 18:24:54 +0000 (18:24 +0000)]
Fixed position of meta bit, added ASCII names.

37 years agodeep_lookup was being called with an extraneous fourth argument.
Guillermo J. Rozas [Wed, 27 Apr 1988 04:12:44 +0000 (04:12 +0000)]
deep_lookup was being called with an extraneous fourth argument.

37 years agoFix a bug in local lexprs.
Guillermo J. Rozas [Wed, 27 Apr 1988 03:07:56 +0000 (03:07 +0000)]
Fix a bug in local lexprs.

37 years agoFix a bug in local lexprs.
Guillermo J. Rozas [Wed, 27 Apr 1988 01:10:33 +0000 (01:10 +0000)]
Fix a bug in local lexprs.

37 years agoRemove RC_REPEAT_DISPATCH.
Guillermo J. Rozas [Wed, 27 Apr 1988 01:09:19 +0000 (01:09 +0000)]
Remove RC_REPEAT_DISPATCH.

37 years agoChange `load' to interact better with Emacs interface. Dissect REP
Chris Hanson [Tue, 26 Apr 1988 19:41:49 +0000 (19:41 +0000)]
Change `load' to interact better with Emacs interface.  Dissect REP
loop slightly to allow its parts to be used independently by `load'.
Now whenever `load' prints a value it is also entered in the REP
printer history.  Also, the value of the last file loaded is returned
to the REP loop as the value of the `load' expression.

All of this is useful for allowing Emacs to use `load' for zapping.
Now, zapping from a file is more or less equivalent to zapping through
a pipe.  Before, there were significant differences, especially
noticeable in interaction with the printer history.

37 years agoAdded a new test in optimize-rtl called rtl:optimizable?
Mark Friedman [Tue, 26 Apr 1988 18:56:24 +0000 (18:56 +0000)]
Added a new test in optimize-rtl called rtl:optimizable?
Currently it is only used to prevent the optimization of
OBJECT->FIXNUM. This is done to prevent an explosion in the
number of rules necessary in the back end. See the commant in
optimize-rtl for more info.

37 years agoAdded cse methods for FIXNUM-PRED-2-ARGS and FIXNUM-PRED-1-ARG.
Mark Friedman [Tue, 26 Apr 1988 18:52:37 +0000 (18:52 +0000)]
Added cse methods for FIXNUM-PRED-2-ARGS and FIXNUM-PRED-1-ARG.
This is in support of binary and unary open coded fixnum predicates.

37 years agoAdded fixnums to non-object-invalidate. Someday we may not
Mark Friedman [Tue, 26 Apr 1988 18:48:18 +0000 (18:48 +0000)]
Added fixnums to non-object-invalidate. Someday we may not
need to do this. We may be able to keep these guys around.
See the log message for rtlbase/rtlcon.scm 4.6 for some more info.

37 years agoSupport added for the generation of rtl for open coded fixnum
Mark Friedman [Tue, 26 Apr 1988 18:33:37 +0000 (18:33 +0000)]
Support added for the generation of rtl for open coded fixnum
arithmetic and predicates.
NOTE: Someday, when we have some support for the persistance of
untyped objects (i.e. when we have some way of saving unboxed
fixnums across GC calls) we can do some fancier things such as
eliminating the boxing of a fixnum calculation which is just going
to be unboxed and used in another fixnum calculation. My idea
for doing this is to add an explicit FIXNUM->OBJECT rtl expression
and when OBJECT->FIXNUM is simplified and its operand is FIXNUM->OBJECT
then cancel them out and return the operand of the FIXNUM->OBJECT.
The result of an fixnum expression expression will then have to be
considered an RTL:FIXNUM-VALUED-EXPRESSION? and OBJECT-NON-INVALIDATE
will have to be updated.

37 years agoAdded a FIXNUM type of register analagous to ADDRESS registers.
Mark Friedman [Mon, 25 Apr 1988 21:45:08 +0000 (21:45 +0000)]
Added a FIXNUM type of register analagous to ADDRESS registers.
Their current use is to hold the results of OBJECT->FIXNUM expressions
and assignments of such registers to other registers. We have to tell
the cse code that such registers and expressions are invalid across
anything that can call the garbage collector. This is because the
garbage collector would currently barf on such values that have no
type codes (i.e. fixnums which have had their type codes removed).
In the future, FIXNUM registers may contain the reults of fixnum
arithmetic expressions, so that we are not doing so much boxing and
unboxing. Currently however, all such results are boxed into their
destinations.

37 years agoAdded a FIXNUM type of register analagous to ADDRESS registers.
Mark Friedman [Mon, 25 Apr 1988 21:34:43 +0000 (21:34 +0000)]
Added a FIXNUM type of register analagous to ADDRESS registers.
Their current use is to hold the results of OBJECT->FIXNUM expressions
and assignments of such registers to other registers. We have to tell
the cse code that such registers and expressions are invalid across
anything that can call the garbage collector. This is because the
garbage collector would currently barf on such values that have no
type codes (i.e. fixnums which have had their type codes removed).
In the future, FIXNUM registers may contain the reults of fixnum
arithmetic expressions, so that we are not doing so much boxing and
unboxing. Currently however, all such results are boxed into their
destinations.

37 years agoAdded the following RTL types for the support of fixnum operations:
Mark Friedman [Mon, 25 Apr 1988 21:27:54 +0000 (21:27 +0000)]
Added the following RTL types for the support of fixnum operations:
   FIXNUM-2-ARGS - for binary fixnum arithmetic operations
   FIXNUM-1-ARG  - for unary fixnum arithmetic operations
   FIXNUM-PRED-2-ARGS - for binary fixnum predicates
   FIXNUM-PRED-1-ARG  - for unary fixnum-predicates
   OBJECT->FIXNUM - for unboxing fixnum objects

37 years agoRename variable `string' to `str'; it conflicts with a typedef of the
Chris Hanson [Mon, 25 Apr 1988 17:50:01 +0000 (17:50 +0000)]
Rename variable `string' to `str'; it conflicts with a typedef of the
same name.  Change character constant '\=' to '='; former is undefined
escape sequence.

37 years agoFix typo.
Chris Hanson [Mon, 25 Apr 1988 17:30:02 +0000 (17:30 +0000)]
Fix typo.

37 years agoChange conditionalization of `__GNU__' to `__GNUC__'. Fix bug in
Chris Hanson [Mon, 25 Apr 1988 15:43:08 +0000 (15:43 +0000)]
Change conditionalization of `__GNU__' to `__GNUC__'.  Fix bug in
`flush_input_buffer()' on USG systems: argument is `int', not `int *'.
Change file I/O to unbuffered; tty I/O remains buffered using stdio.
Opening fasl output file now deletes existing file first.

37 years agoAdd indentation for `with-values'.
Chris Hanson [Mon, 25 Apr 1988 12:53:38 +0000 (12:53 +0000)]
Add indentation for `with-values'.

37 years agoRemove random parens from end of #ifndef statements.
Chris Hanson [Sun, 24 Apr 1988 10:04:59 +0000 (10:04 +0000)]
Remove random parens from end of #ifndef statements.

37 years agoAdd missing rule.
Chris Hanson [Sat, 23 Apr 1988 12:37:41 +0000 (12:37 +0000)]
Add missing rule.

37 years agoMove all `integrate-external' declarations into the files, using
Chris Hanson [Sat, 23 Apr 1988 08:55:34 +0000 (08:55 +0000)]
Move all `integrate-external' declarations into the files, using
relative pathnames.

37 years agoBind `sf/default-externs-pathname' to same directory as input file
Chris Hanson [Sat, 23 Apr 1988 08:25:27 +0000 (08:25 +0000)]
Bind `sf/default-externs-pathname' to same directory as input file
when syntaxing a file.  This is correct default for relative filenames
that appear in a file's declarations.

37 years agoAdded support for the open coding of fixnum arithmetic and fixnum predicates.
Mark Friedman [Fri, 22 Apr 1988 16:39:45 +0000 (16:39 +0000)]
Added support for the open coding of fixnum arithmetic and fixnum predicates.