From dcaa508676e9a9917a2e57bd4574dfe4b1cdfa04 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Sat, 29 Aug 1992 12:45:42 +0000 Subject: [PATCH] Alpha mods. --- v7/src/microcode/cmpint.c | 14 ++++++++++++-- v8/src/microcode/cmpint.c | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/v7/src/microcode/cmpint.c b/v7/src/microcode/cmpint.c index fedf33747..305cd6172 100644 --- a/v7/src/microcode/cmpint.c +++ b/v7/src/microcode/cmpint.c @@ -1,6 +1,6 @@ /* -*-C-*- -$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 $ +$Id: cmpint.c,v 1.48 1992/08/29 12:45:42 jinx Exp $ Copyright (c) 1989-92 Massachusetts Institute of Technology @@ -948,6 +948,11 @@ DEFUN (comutil_link, { long offset; +#ifdef AUTOCLOBBER_BUG + block_address[OBJECT_DATUM(*block_address)] = + Registers[REGBLOCK_ENV]; +#endif + offset = (constant_address - block_address); RETURN_UNLESS_EXCEPTION @@ -2266,6 +2271,11 @@ DEFUN (store_uuo_link, */ #define TRAMPOLINE_SIZE (TRAMPOLINE_ENTRY_SIZE + 2) +#ifdef AUTOCLOBBER_BUG +# define TC_TRAMPOLINE_HEADER TC_FIXNUM +#else +# define TC_TRAMPOLINE_HEADER TC_MANIFEST_VECTOR +#endif static long DEFUN (make_trampoline, @@ -2288,7 +2298,7 @@ DEFUN (make_trampoline, local_free = Free; Free += (TRAMPOLINE_SIZE + size); block = local_free; - local_free[0] = (MAKE_OBJECT (TC_MANIFEST_VECTOR, + local_free[0] = (MAKE_OBJECT (TC_TRAMPOLINE_HEADER, ((TRAMPOLINE_SIZE - 1) + size))); local_free[1] = (MAKE_OBJECT (TC_MANIFEST_NM_VECTOR, TRAMPOLINE_ENTRY_SIZE)); diff --git a/v8/src/microcode/cmpint.c b/v8/src/microcode/cmpint.c index baea32f9f..305cd6172 100644 --- a/v8/src/microcode/cmpint.c +++ b/v8/src/microcode/cmpint.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/cmpint.c,v 1.47 1992/07/29 19:54:49 cph Exp $ +$Id: cmpint.c,v 1.48 1992/08/29 12:45:42 jinx Exp $ Copyright (c) 1989-92 Massachusetts Institute of Technology @@ -948,6 +948,11 @@ DEFUN (comutil_link, { long offset; +#ifdef AUTOCLOBBER_BUG + block_address[OBJECT_DATUM(*block_address)] = + Registers[REGBLOCK_ENV]; +#endif + offset = (constant_address - block_address); RETURN_UNLESS_EXCEPTION @@ -2266,6 +2271,11 @@ DEFUN (store_uuo_link, */ #define TRAMPOLINE_SIZE (TRAMPOLINE_ENTRY_SIZE + 2) +#ifdef AUTOCLOBBER_BUG +# define TC_TRAMPOLINE_HEADER TC_FIXNUM +#else +# define TC_TRAMPOLINE_HEADER TC_MANIFEST_VECTOR +#endif static long DEFUN (make_trampoline, @@ -2288,7 +2298,7 @@ DEFUN (make_trampoline, local_free = Free; Free += (TRAMPOLINE_SIZE + size); block = local_free; - local_free[0] = (MAKE_OBJECT (TC_MANIFEST_VECTOR, + local_free[0] = (MAKE_OBJECT (TC_TRAMPOLINE_HEADER, ((TRAMPOLINE_SIZE - 1) + size))); local_free[1] = (MAKE_OBJECT (TC_MANIFEST_NM_VECTOR, TRAMPOLINE_ENTRY_SIZE)); -- 2.25.1