From a59dbbeac3e1b5f86444c2447f7366c4c4ee6742 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Wed, 20 Jun 1990 21:13:44 +0000 Subject: [PATCH] * 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/bchdmp.c | 5 +++-- v7/src/microcode/bchmmg.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/v7/src/microcode/bchdmp.c b/v7/src/microcode/bchdmp.c index 5e1090bec..3839fede6 100644 --- a/v7/src/microcode/bchdmp.c +++ b/v7/src/microcode/bchdmp.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchdmp.c,v 9.50 1990/06/20 17:38:05 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchdmp.c,v 9.51 1990/06/20 21:13:26 cph Exp $ Copyright (c) 1987, 1988, 1989, 1990 Massachusetts Institute of Technology @@ -38,6 +38,7 @@ MIT in each case. */ #include "scheme.h" #include "prims.h" +#include "osio.h" #include "osfile.h" #include "trap.h" #include "lookup.h" /* UNCOMPILED_VARIABLE */ @@ -736,7 +737,7 @@ DEFINE_PRIMITIVE ("DUMP-BAND", Prim_band_dump, 2, 2, 0) } else { - unsigned char * filename = (STRING_LOC ((ARG_REF (2)), 0)); + CONST char * filename = ((CONST char *) (STRING_LOC ((ARG_REF (2)), 0))); dump_channel = (OS_open_dump_file (filename)); if (dump_channel == NO_CHANNEL) error_bad_range_arg (2); diff --git a/v7/src/microcode/bchmmg.c b/v7/src/microcode/bchmmg.c index c6e8eaa72..c5c70359d 100644 --- a/v7/src/microcode/bchmmg.c +++ b/v7/src/microcode/bchmmg.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchmmg.c,v 9.54 1990/06/20 17:38:18 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/bchmmg.c,v 9.55 1990/06/20 21:13:44 cph Exp $ Copyright (c) 1987, 1988, 1989, 1990 Massachusetts Institute of Technology @@ -109,7 +109,7 @@ extern char *mktemp(); int gc_file; static long current_disk_position; -static char *gc_file_name; +static CONST char * gc_file_name; static char gc_default_file_name[FILE_NAME_LENGTH] = GC_DEFAULT_FILE_NAME; void -- 2.25.1