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
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.
Chris Hanson [Mon, 25 Apr 1988 17:30:02 +0000 (17:30 +0000)]
Fix typo.
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.
Chris Hanson [Mon, 25 Apr 1988 12:53:38 +0000 (12:53 +0000)]
Add indentation for `with-values'.
Chris Hanson [Sun, 24 Apr 1988 10:04:59 +0000 (10:04 +0000)]
Remove random parens from end of #ifndef statements.
Chris Hanson [Sat, 23 Apr 1988 12:37:41 +0000 (12:37 +0000)]
Add missing rule.
Chris Hanson [Sat, 23 Apr 1988 08:55:34 +0000 (08:55 +0000)]
Move all `integrate-external' declarations into the files, using
relative pathnames.
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.
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.
Mark Friedman [Fri, 22 Apr 1988 16:32:44 +0000 (16:32 +0000)]
Fixed the MULS MULU DIVS and DIVU instructions; the operands were
reversed.
NOTE: The dissassembler totally screws up on these instructions.
Mark Friedman [Fri, 22 Apr 1988 16:28:23 +0000 (16:28 +0000)]
Added expression costs for fixnum expressions. These costs
are pretty rough. Someone who really understands the 68020
book should check them out.
Mark Friedman [Fri, 22 Apr 1988 16:23:56 +0000 (16:23 +0000)]
Added support for the open coding of fixnum arithmetic and fixnum predicates.
Mark Friedman [Fri, 22 Apr 1988 16:21:29 +0000 (16:21 +0000)]
Added rules to support open coding of fixnum arithmetic.
Guillermo J. Rozas [Thu, 21 Apr 1988 06:58:23 +0000 (06:58 +0000)]
Fix a bug in "local lexprs". The arity encoding must include the
procedure object, even if it is only a virtual procedure object.
Chris Hanson [Mon, 18 Apr 1988 22:42:55 +0000 (22:42 +0000)]
Change naming of "cmp68020" files.
Chris Hanson [Fri, 15 Apr 1988 17:49:58 +0000 (17:49 +0000)]
*** empty log message ***
Chris Hanson [Fri, 15 Apr 1988 17:00:40 +0000 (17:00 +0000)]
Release 6.2.1
Chris Hanson [Fri, 15 Apr 1988 16:54:02 +0000 (16:54 +0000)]
Do not refer to `Scan' in `GC_NO_COMPILER_STMT', as it isn't defined
in all places that the macro is used.
Chris Hanson [Fri, 15 Apr 1988 16:22:00 +0000 (16:22 +0000)]
Fix compiled-code stubs to cast their value to some appropriate type.
Flush references to `To' since fasload does not define that variable.
Guillermo J. Rozas [Fri, 15 Apr 1988 02:22:34 +0000 (02:22 +0000)]
Change the way first class environments are handled.
There is an extra phase at the front end which translates implicit
environment manipulation operations into explicit ones.
Guillermo J. Rozas [Fri, 15 Apr 1988 02:16:39 +0000 (02:16 +0000)]
Change the way first class environments are handled.
There is an extra phase at the front end which translates implicit
environment manipulation operations into explicit ones.
Guillermo J. Rozas [Fri, 15 Apr 1988 02:10:18 +0000 (02:10 +0000)]
Change the way first class environments are handled.
There is an extra phase at the front end which translates implicit
environment manipulation operations into explicit ones.
Guillermo J. Rozas [Fri, 15 Apr 1988 02:07:16 +0000 (02:07 +0000)]
Initial revision
Chris Hanson [Tue, 12 Apr 1988 18:53:06 +0000 (18:53 +0000)]
Use compiled runtime system.
Chris Hanson [Tue, 12 Apr 1988 18:51:35 +0000 (18:51 +0000)]
Fix bug in resyntaxing of SF.
Chris Hanson [Tue, 12 Apr 1988 18:50:32 +0000 (18:50 +0000)]
Various changes for NFS and new organization.
Chris Hanson [Tue, 12 Apr 1988 18:42:27 +0000 (18:42 +0000)]
Signal error if the number of temporary registers allocated exceeds
the number available for this machine.
Chris Hanson [Tue, 12 Apr 1988 17:03:26 +0000 (17:03 +0000)]
Add new local variable.
Guillermo J. Rozas [Tue, 12 Apr 1988 15:01:28 +0000 (15:01 +0000)]
Remove with-threaded-continuation and add copy-program.
Chris Hanson [Wed, 6 Apr 1988 21:31:31 +0000 (21:31 +0000)]
Change interface to print ";No value" when the value string would be
null.
Chris Hanson [Wed, 6 Apr 1988 17:31:26 +0000 (17:31 +0000)]
Update `show-rtl-instruction' to know about new RTL statement types.
Guillermo J. Rozas [Sun, 3 Apr 1988 18:13:26 +0000 (18:13 +0000)]
Fix bug backing out of fasdump when an environment object is
encountered.
Chris Hanson [Fri, 1 Apr 1988 23:43:17 +0000 (23:43 +0000)]
Fix bug introduced in last change.
Henry M. Wu [Thu, 31 Mar 1988 21:39:16 +0000 (21:39 +0000)]
Trap trivial closures with error in `find-variable-internal'.
Henry M. Wu [Thu, 31 Mar 1988 21:35:23 +0000 (21:35 +0000)]
Add case to `subproblem->expression' for trivial closure consing.
Joe Marshall [Thu, 31 Mar 1988 21:23:18 +0000 (21:23 +0000)]
allocate_string was allocating a word too many.
Chris Hanson [Thu, 31 Mar 1988 04:39:47 +0000 (04:39 +0000)]
Save standard runtime system in "runtime.bin" instead of "scheme.bin".
Chris Hanson [Wed, 30 Mar 1988 23:05:03 +0000 (23:05 +0000)]
Change time reports to match compiler.
Chris Hanson [Wed, 30 Mar 1988 21:59:38 +0000 (21:59 +0000)]
Change time reports to match compiler.
Chris Hanson [Wed, 30 Mar 1988 21:56:15 +0000 (21:56 +0000)]
Change time reports to match compiler.
Chris Hanson [Fri, 25 Mar 1988 21:22:06 +0000 (21:22 +0000)]
Add missing rule. Generalize `increment-anl' to
`increment-machine-register'. Generalize
`reuse-pseudo-register-alias!' to capture idea of reuse without making
assumptions about loading the target register from the source
register.
Chris Hanson [Fri, 25 Mar 1988 20:50:11 +0000 (20:50 +0000)]
Really get these things working.
Brian A. LaMacchia [Fri, 25 Mar 1988 20:36:03 +0000 (20:36 +0000)]
Fixed direction of branch in rule.
It was backwards.
Chris Hanson [Thu, 24 Mar 1988 07:55:27 +0000 (07:55 +0000)]
* Delete `with-threaded-continuation' primitive.
* Implement `get-interrupt-enables' primitive.
* Split `primitive-type' and friends into two classes: one which is
gc-safe and touches arguments, the other non-safe with no touching.
* Implement primitive-procedure name aliasing in microcode. This
allows microcode name changes to reuse existing bands.
* Do not use "-q" ld switch. This causes lossage when Scheme is
loaded over NFS.
Chris Hanson [Thu, 24 Mar 1988 07:13:46 +0000 (07:13 +0000)]
* Delete `with-threaded-continuation' primitive.
* Implement `get-interrupt-enables' primitive.
* Split `primitive-type' and friends into two classes: one which is
gc-safe and touches arguments, the other non-safe with no touching.
* Implement primitive-procedure name aliasing in microcode. This
allows microcode name changes to reuse existing bands.
* Do not use "-q" ld switch. This causes lossage when Scheme is
loaded over NFS.
Chris Hanson [Thu, 24 Mar 1988 07:04:30 +0000 (07:04 +0000)]
Initial revision
Guillermo J. Rozas [Wed, 23 Mar 1988 18:45:39 +0000 (18:45 +0000)]
Add some overflow checking in entity apply code. It will not work in
fscheme/multischeme, but figuring out what the right thing to do there
is not easy.
Joe Marshall [Wed, 23 Mar 1988 18:31:25 +0000 (18:31 +0000)]
Make Entity application check for interrupts to avoid blowing machine
away in the case of an entity's procedure being that entity.
This will allow you to abort if you are quick enough, but no stack
check is currently being done, so errors here would probably blow
scheme away anyhow.
Joe Marshall [Tue, 22 Mar 1988 21:10:18 +0000 (21:10 +0000)]
Preserve the order of arguments in a let statement.
Joe Marshall [Tue, 22 Mar 1988 18:10:01 +0000 (18:10 +0000)]
Make set/adjoin not cons so much.
Joe Marshall [Tue, 22 Mar 1988 17:40:50 +0000 (17:40 +0000)]
automagic-integrations
Joe Marshall [Tue, 22 Mar 1988 17:39:56 +0000 (17:39 +0000)]
Initial revision
Joe Marshall [Mon, 21 Mar 1988 22:13:00 +0000 (22:13 +0000)]
Make it syntax the syntax correctly.
Brian A. LaMacchia [Mon, 21 Mar 1988 21:47:00 +0000 (21:47 +0000)]
Had the right rule header, but wrong body.
Brian A. LaMacchia [Mon, 21 Mar 1988 21:46:31 +0000 (21:46 +0000)]
Fixed more bugs.
Brian A. LaMacchia [Mon, 21 Mar 1988 21:45:31 +0000 (21:45 +0000)]
fixed more bugs
Brian A. LaMacchia [Mon, 21 Mar 1988 21:42:02 +0000 (21:42 +0000)]
Fixed bug in offset symbols
Guillermo J. Rozas [Mon, 21 Mar 1988 21:17:16 +0000 (21:17 +0000)]
Fix bchscheme to handle new representation of compiled procedures.
Add coerce-to-compiled-procedure primitive for inner loops.
Clean up some gc macros.
Guillermo J. Rozas [Mon, 21 Mar 1988 21:10:17 +0000 (21:10 +0000)]
Fix bchscheme to handle new representation of compiled procedures.
Add coerce-to-compiled-procedure primitive for inner loops.
Clean up some gc macros.
Guillermo J. Rozas [Mon, 14 Mar 1988 21:05:05 +0000 (21:05 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Mon, 14 Mar 1988 20:59:05 +0000 (20:59 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Mon, 14 Mar 1988 20:25:13 +0000 (20:25 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Mon, 14 Mar 1988 20:18:11 +0000 (20:18 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Mon, 14 Mar 1988 19:38:53 +0000 (19:38 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Mon, 14 Mar 1988 19:16:33 +0000 (19:16 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Mon, 14 Mar 1988 16:37:15 +0000 (16:37 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Sun, 13 Mar 1988 15:52:28 +0000 (15:52 +0000)]
Forgot to add macro continuation lines to Apply_Error.
Guillermo J. Rozas [Sat, 12 Mar 1988 16:08:44 +0000 (16:08 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Guillermo J. Rozas [Sat, 12 Mar 1988 15:58:27 +0000 (15:58 +0000)]
Change the representation of compiled procedures and other entries:
They are now just the address of an instruction with a gc offset
preceding the instruction and an arity/type word preceding that.
Compiled closures are done by creating a tiny fake compiled code block
which jumps to the right place and sets up the free variables for
reference.
Uuo style links are now just jump instructions to the correct address.
All relocators have been updated to reflect this change.
Variable caches have no type code. The relocators know about this.
Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
New types:
TC_COMPILED_ENTRY
TC_MANIFEST_CLOSURE
TC_LINKAGE_SECTION
Arthur Gleckler [Fri, 11 Mar 1988 02:54:59 +0000 (02:54 +0000)]
Fixed screen dimensions by reducing STARBASE_XMAX and STARBASE_YMAX each by one.
Brian A. LaMacchia [Tue, 8 Mar 1988 18:24:52 +0000 (18:24 +0000)]
Updated make file to include "CF" command
and match 68020 version.
Brian A. LaMacchia [Tue, 8 Mar 1988 18:22:37 +0000 (18:22 +0000)]
More bug fixes, dealing with word sizes and such.
Brian A. LaMacchia [Mon, 7 Mar 1988 22:17:01 +0000 (22:17 +0000)]
Added costs for ASSIGNMENT-CACHE and VARIABLE-CACHE.
Chris Hanson [Sat, 5 Mar 1988 00:20:30 +0000 (00:20 +0000)]
Fix weird bugs involving dot notation in lists. Unfortunately, the
fix fails to catch a class of error cases, namely
(1 . . (2))
(1 . . . ((2)))
etc.
Also install a switch to disable the feature of ignoring random close
parens from the console.
Chris Hanson [Wed, 2 Mar 1988 09:00:38 +0000 (09:00 +0000)]
Implement two new primitives, `file-directory?' and `file-symlink?'.
Change `file-attributes' to use `lstat' rather than `stat', and to
return more information about symbolic links.
Chris Hanson [Mon, 29 Feb 1988 01:33:33 +0000 (01:33 +0000)]
Reimplement unix I/O using buffered stdio instead of unbuffered
low-level I/O. The latter had bad performance on TTYs and possibly
other devices as well.
Chris Hanson [Sun, 28 Feb 1988 23:00:06 +0000 (23:00 +0000)]
Add new operation `sf/set-default-syntax-table!'.
Chris Hanson [Fri, 26 Feb 1988 18:11:25 +0000 (18:11 +0000)]
Reimplement `read' and `write' primitives to do retries in the case of
interrupts or premature completion.
Brian A. LaMacchia [Tue, 23 Feb 1988 19:47:03 +0000 (19:47 +0000)]
Fixed bugs in dynamic link references (going
to wrong register and the like).
Brian A. LaMacchia [Tue, 23 Feb 1988 19:45:15 +0000 (19:45 +0000)]
Added appropriate rules for dynamic links
Brian A. LaMacchia [Tue, 23 Feb 1988 19:43:56 +0000 (19:43 +0000)]
Initial check-in for LIAR version 4...
Brian A. LaMacchia [Tue, 23 Feb 1988 19:39:53 +0000 (19:39 +0000)]
Updated make to include disassembler-syntaxed
instruction files.
Brian A. LaMacchia [Tue, 23 Feb 1988 19:37:41 +0000 (19:37 +0000)]
Changed cost on (OBJECT->ADDRESS OBJECT->DATUM)
Brian A. LaMacchia [Tue, 23 Feb 1988 19:34:34 +0000 (19:34 +0000)]
Initial check-in for LIAR 4.4...
Brian A. LaMacchia [Tue, 23 Feb 1988 19:29:53 +0000 (19:29 +0000)]
Fixed dependencies.
Brian A. LaMacchia [Tue, 23 Feb 1988 18:18:47 +0000 (18:18 +0000)]
*** empty log message ***
Guillermo J. Rozas [Mon, 22 Feb 1988 22:15:35 +0000 (22:15 +0000)]
Fix bug in compiler_interrupt_procedure.
It was clobbering the dlink register, and this lost when gc was
disabled (and the gc interrupt ignored).
Guillermo J. Rozas [Sun, 21 Feb 1988 18:14:55 +0000 (18:14 +0000)]
DISK-SAVE now returns false when dumped and true when restored.
the suspension interrupt handler uses this to exit after dumping but
not after restoring.
Guillermo J. Rozas [Sun, 21 Feb 1988 17:34:56 +0000 (17:34 +0000)]
SIGHUP causes suspension only when running in the forground.
SIGUSR1 causes suspension always.
Guillermo J. Rozas [Sat, 20 Feb 1988 19:51:38 +0000 (19:51 +0000)]
1) Patch compiler code interface problem:
Dynamic links were not saved when a procedure was interrupted.
The typical symptoms would be that the program would jump to
an unpredictable location after a garbage collection. This could
cause it do die with almost any signal, typically illegal instruction
and segmentation violation.
2) Add a gc counter for debugging purposes.
Guillermo J. Rozas [Sat, 20 Feb 1988 19:34:44 +0000 (19:34 +0000)]
1) Patch compiler code interface problem:
Dynamic links were not saved when a procedure was interrupted.
The typical symptoms would be that the program would jump to
an unpredictable location after a garbage collection. This could
cause it do die with almost any signal, typically illegal instruction
and segmentation violation.
2) Add a gc counter for debugging purposes.
Guillermo J. Rozas [Sat, 20 Feb 1988 06:19:45 +0000 (06:19 +0000)]
- Add code and data patch areas to cmp68020.s
- Clean up the display of interrupt character information in unix.c
- Change the interrupt characters in unix.c so it matches the sequences
used in emacs.
- Add a gc_death utility procedure which saves scan and free.
Guillermo J. Rozas [Fri, 19 Feb 1988 20:58:57 +0000 (20:58 +0000)]
Fix a bug in the continuation analyzer which was causing the compiler
to avoid static links in cases where they were in fact needed.
Add a few missing code generation rules.
Make the compiler print its phase information in a nicer format.
Add a few top level utilities:
- cf (SFs your file first)
- compiler:batch-compile (not exported). In case of error it prints
the error information and aborts the current compilation, thus when
compiling multiple files (ie. compiling the compiler) it will continue
with the next one.
Joe Marshall [Thu, 18 Feb 1988 16:46:02 +0000 (16:46 +0000)]
*** empty log message ***
Guillermo J. Rozas [Wed, 17 Feb 1988 19:14:05 +0000 (19:14 +0000)]
1) Make assembler pad with ILLEGAL instructions.
2) Make the continuations for special primitive invocations not do a
heap/interrupt check.
Panayotis Skordos [Sun, 14 Feb 1988 20:16:01 +0000 (20:16 +0000)]
macro-improvements: macro local variables
Panayotis Skordos [Sun, 14 Feb 1988 00:41:37 +0000 (00:41 +0000)]
array-aperiodic-downsample dropped last element on odd lengths, fixed.
Brian A. LaMacchia [Fri, 12 Feb 1988 19:40:21 +0000 (19:40 +0000)]
Removed reference to frame pointer
Guillermo J. Rozas [Fri, 12 Feb 1988 16:53:59 +0000 (16:53 +0000)]
1) Fix allocation bug in FILE-ATTRIBUTES.
2) Make some error messages nicer.
3) Add ENTITY and RATNUM types.
4) Add apply time support for ENTITYs.
5) Add a type code name table to types.h and storage.c .
6) Clean up some code in debug.c and Ppband.c .