From ec7078a7997ae8d04439d2bf659343f8c3cd4a68 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Wed, 29 Jul 1992 19:54:58 +0000 Subject: [PATCH] Move Stack_Guard into the register block so that compiler can reference it for stack-overflow checks. --- v7/src/microcode/cmpint.c | 8 ++++---- v7/src/microcode/const.h | 13 ++++++------- v7/src/microcode/extern.h | 3 +-- v7/src/microcode/gc.h | 9 +++++---- v7/src/microcode/interp.h | 5 +++-- v7/src/microcode/stack.h | 10 +++++----- v7/src/microcode/storage.c | 5 ++--- v7/src/microcode/utils.c | 6 +++--- v7/src/microcode/version.h | 6 +++--- v8/src/microcode/cmpint.c | 8 ++++---- v8/src/microcode/const.h | 13 ++++++------- v8/src/microcode/version.h | 6 +++--- 12 files changed, 45 insertions(+), 47 deletions(-) diff --git a/v7/src/microcode/cmpint.c b/v7/src/microcode/cmpint.c index c211dfe63..fedf33747 100644 --- a/v7/src/microcode/cmpint.c +++ b/v7/src/microcode/cmpint.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/cmpint.c,v 1.46 1992/06/11 18:51:35 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/cmpint.c,v 1.47 1992/07/29 19:54:49 cph Exp $ -Copyright (c) 1989-1992 Massachusetts Institute of Technology +Copyright (c) 1989-92 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -1365,7 +1365,7 @@ DEFUN (comutil_interrupt_closure, long ignore_1 AND long ignore_2 AND long ignore_3 AND long ignore_4) { TEST_GC_NEEDED(); - if ((PENDING_INTERRUPTS()) == 0) + if (((PENDING_INTERRUPTS()) == 0) && (Stack_Pointer > Stack_Guard)) { SCHEME_OBJECT entry_point; @@ -1398,7 +1398,7 @@ DEFUN (compiler_interrupt_common, SCHEME_OBJECT state) { TEST_GC_NEEDED(); - if ((PENDING_INTERRUPTS()) == 0) + if (((PENDING_INTERRUPTS()) == 0) && (Stack_Pointer > Stack_Guard)) { Store_Env (state); Val = state; diff --git a/v7/src/microcode/const.h b/v7/src/microcode/const.h index 0004db6a6..841cd1f3b 100644 --- a/v7/src/microcode/const.h +++ b/v7/src/microcode/const.h @@ -1,6 +1,8 @@ /* -*-C-*- -Copyright (c) 1987-1991 Massachusetts Institute of Technology +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/const.h,v 9.40 1992/07/29 19:54:52 cph Exp $ + +Copyright (c) 1987-92 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -30,11 +32,7 @@ Technology nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from MIT in each case. */ -/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/const.h,v 9.39 1991/07/24 02:26:55 cph Exp $ - * - * Named constants used throughout the interpreter - * - */ +/* Named constants used throughout the interpreter */ #if (CHAR_BIT != 8) #define MAX_CHAR ((1< Stack_Guard)) { SCHEME_OBJECT entry_point; @@ -1398,7 +1398,7 @@ DEFUN (compiler_interrupt_common, SCHEME_OBJECT state) { TEST_GC_NEEDED(); - if ((PENDING_INTERRUPTS()) == 0) + if (((PENDING_INTERRUPTS()) == 0) && (Stack_Pointer > Stack_Guard)) { Store_Env (state); Val = state; diff --git a/v8/src/microcode/const.h b/v8/src/microcode/const.h index bcfab556a..d9a61f220 100644 --- a/v8/src/microcode/const.h +++ b/v8/src/microcode/const.h @@ -1,6 +1,8 @@ /* -*-C-*- -Copyright (c) 1987-1991 Massachusetts Institute of Technology +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/const.h,v 9.40 1992/07/29 19:54:52 cph Exp $ + +Copyright (c) 1987-92 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -30,11 +32,7 @@ Technology nor of any adaptation thereof in any advertising, promotional, or sales literature without prior written consent from MIT in each case. */ -/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/const.h,v 9.39 1991/07/24 02:26:55 cph Exp $ - * - * Named constants used throughout the interpreter - * - */ +/* Named constants used throughout the interpreter */ #if (CHAR_BIT != 8) #define MAX_CHAR ((1<