* Complete redesign of the operating-system interface. I/O is more
authorChris Hanson <org/chris-hanson/cph>
Wed, 20 Jun 1990 17:42:58 +0000 (17:42 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 20 Jun 1990 17:42:58 +0000 (17:42 +0000)
commite8449d2f800171b84bf141570cbb4d1b63fa2f58
treece0f7a11c29e33350c4374690a03cf7e72c07cf7
parenta3324ef71797edf4aa51c96f55a668f990492ac4
* Complete redesign of the operating-system interface.  I/O is more
uniform and is able to take advantage of things like sockets, pipes,
ptys, etc.  All I/O buffering is moved into the runtime system for
better performance with Scheme compiler code.  Strong knowledge of
POSIX.1 should make porting to VMS easy once VMS supports POSIX.1.

* Change operating system conditionalizations to standard form
suggested by POSIX.1.

* Add FSF macros to support ANSI declarations.

* Add dynamic-stack package and obstacks.

* Provide higher-level utilities for parsing command line options.

* Instead of `Back_To_Eval', there is now a procedure
`abort_to_interpreter' which knows about everything that needs to be
cleaned up.

* Change names of some macros:

Pop STACK_POP
Push STACK_PUSH
Push_From STACK_LOCATIVE_PUSH
Pop_Into STACK_LOCATIVE_POP (similar)
Stack_Ref STACK_REF
Top_Of_Stack() STACK_REF(0)
Simulate_Popping STACK_LOC
Simulate_Pushing STACK_LOC (similar)
Stack_Distance STACK_LOCATIVE_DIFFERENCE (similar)
Pop_Primitive_Frame POP_PRIMITIVE_FRAME
Metering_Apply_Primitive PRIMITIVE_APPLY
Export_Regs_Before_Primitive EXPORT_REGS_BEFORE_PRIMITIVE
Import_Regs_After_Primitive IMPORT_REGS_AFTER_PRIMITIVE

* Sun assembler can't handle a constant used in "cmpaux-mc68k.m4", so
provide an option to rewrite that instruction as two instructions.

* Some compilers won't cast a function to an integer, so kludge around
it by mis-declaring the external function as an integer, taking it the
integer's address, and casting THAT to an integer.

* Move critical section code and termination code to their own files.
54 files changed:
v7/src/microcode/bchdmp.c
v7/src/microcode/bchgcc.h
v7/src/microcode/bchmmg.c
v7/src/microcode/bchpur.c
v7/src/microcode/bkpt.h
v7/src/microcode/boot.c
v7/src/microcode/cmpauxmd/mc68k.m4
v7/src/microcode/cmpint.c
v7/src/microcode/cmpint.h
v7/src/microcode/cmpintmd/mc68k.h
v7/src/microcode/config.h
v7/src/microcode/const.h
v7/src/microcode/daemon.c
v7/src/microcode/debug.c
v7/src/microcode/default.h
v7/src/microcode/dmpwrld.c
v7/src/microcode/extern.h
v7/src/microcode/fasdump.c
v7/src/microcode/fasl.h
v7/src/microcode/fasload.c
v7/src/microcode/fhooks.c
v7/src/microcode/futures.h
v7/src/microcode/generic.c
v7/src/microcode/history.h
v7/src/microcode/hooks.c
v7/src/microcode/intercom.c
v7/src/microcode/interp.c
v7/src/microcode/interp.h
v7/src/microcode/intrpt.h
v7/src/microcode/memmag.c
v7/src/microcode/mul.c
v7/src/microcode/ppband.c
v7/src/microcode/prename.h
v7/src/microcode/prims.h
v7/src/microcode/purify.c
v7/src/microcode/scheme.h
v7/src/microcode/stack.h
v7/src/microcode/step.c
v7/src/microcode/storage.c
v7/src/microcode/sysprim.c
v7/src/microcode/unxutl/config
v7/src/microcode/unxutl/ymkfile
v7/src/microcode/utils.c
v7/src/microcode/version.h
v7/src/microcode/x11term.c
v7/src/microcode/xdebug.c
v7/src/microcode/zones.h
v8/src/microcode/cmpint.c
v8/src/microcode/const.h
v8/src/microcode/fasl.h
v8/src/microcode/interp.c
v8/src/microcode/mul.c
v8/src/microcode/ppband.c
v8/src/microcode/version.h