* Complete redesign of the operating-system interface. I/O is more
authorChris Hanson <org/chris-hanson/cph>
Wed, 20 Jun 1990 20:00:58 +0000 (20:00 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 20 Jun 1990 20:00:58 +0000 (20:00 +0000)
commitf3ad1fcd26b2c0144780ff9aedb64494acc34e9a
tree2bbc25b2f681db099c6e725a235948728adbde65
parent07af885bc3c48aef3a5641562466b18664b31b9d
* 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.
v7/src/microcode/unxutl/cf-dist.h
v7/src/microcode/version.h
v8/src/microcode/version.h