From d231ab062c9ddce63154989757916b86b464da66 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Tue, 18 Feb 1992 17:31:11 +0000 Subject: [PATCH] Changes for 386 port: Use START/END_OPERATOR_RELOCATION and START/END_CLOSURE_RELOCATION. --- v7/src/microcode/fasdump.c | 8 ++++++-- v7/src/microcode/fasload.c | 8 ++++++-- v7/src/microcode/gcloop.c | 8 +++++++- v7/src/microcode/purify.c | 8 ++++++-- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/v7/src/microcode/fasdump.c b/v7/src/microcode/fasdump.c index 98d007258..54d2f98f5 100644 --- a/v7/src/microcode/fasdump.c +++ b/v7/src/microcode/fasdump.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasdump.c,v 9.52 1991/10/29 22:55:11 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasdump.c,v 9.53 1992/02/18 17:30:34 jinx Exp $ -Copyright (c) 1987-91 Massachusetts Institute of Technology +Copyright (c) 1987-1992 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -180,6 +180,7 @@ DEFUN (DumpLoop, (Scan, mode), fast SCHEME_OBJECT * Scan AND int mode) SCHEME_OBJECT *area_end; compiled_code_present_p = true; + START_CLOSURE_RELOCATION (Scan); Scan += 1; count = (MANIFEST_CLOSURE_COUNT (Scan)); word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan)); @@ -195,6 +196,7 @@ DEFUN (DumpLoop, (Scan, mode), fast SCHEME_OBJECT * Scan AND int mode) STORE_CLOSURE_ENTRY_ADDRESS (Temp, Scan); } Scan = area_end; + END_CLOSURE_RELOCATION (Scan); break; } @@ -231,6 +233,7 @@ DEFUN (DumpLoop, (Scan, mode), fast SCHEME_OBJECT * Scan AND int mode) fast char *word_ptr; SCHEME_OBJECT *end_scan; + START_OPERATOR_RELOCATION (Scan); count = (READ_OPERATOR_LINKAGE_COUNT (Temp)); word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan)); end_scan = (END_OPERATOR_LINKAGE_AREA (Scan, count)); @@ -245,6 +248,7 @@ DEFUN (DumpLoop, (Scan, mode), fast SCHEME_OBJECT * Scan AND int mode) STORE_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); } Scan = end_scan; + END_OPERATOR_RELOCATION (Scan); break; } diff --git a/v7/src/microcode/fasload.c b/v7/src/microcode/fasload.c index 848522433..37f2a6cc7 100644 --- a/v7/src/microcode/fasload.c +++ b/v7/src/microcode/fasload.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.63 1991/10/29 22:55:11 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/fasload.c,v 9.64 1992/02/18 17:31:11 jinx Exp $ -Copyright (c) 1987-1991 Massachusetts Institute of Technology +Copyright (c) 1987-1992 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -483,6 +483,7 @@ DEFUN (Relocate_Block, (Scan, Stop_At), fast char *word_ptr; SCHEME_OBJECT *end_scan; + START_OPERATOR_RELOCATION (Scan); count = (READ_OPERATOR_LINKAGE_COUNT (Temp)); word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan)); end_scan = (END_OPERATOR_LINKAGE_AREA (Scan, count)); @@ -497,6 +498,7 @@ DEFUN (Relocate_Block, (Scan, Stop_At), STORE_OPERATOR_LINKAGE_ADDRESS (address, Scan); } Scan = &end_scan[1]; + END_OPERATOR_RELOCATION (Scan - 1); break; } @@ -519,6 +521,7 @@ DEFUN (Relocate_Block, (Scan, Stop_At), fast char *word_ptr; SCHEME_OBJECT *area_end; + START_CLOSURE_RELOCATION (Scan); Scan += 1; count = (MANIFEST_CLOSURE_COUNT (Scan)); word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan)); @@ -534,6 +537,7 @@ DEFUN (Relocate_Block, (Scan, Stop_At), STORE_CLOSURE_ENTRY_ADDRESS (address, Scan); } Scan = area_end; + END_CLOSURE_RELOCATION (Scan); break; } diff --git a/v7/src/microcode/gcloop.c b/v7/src/microcode/gcloop.c index f0fed5f17..d429e8027 100644 --- a/v7/src/microcode/gcloop.c +++ b/v7/src/microcode/gcloop.c @@ -1,5 +1,7 @@ /* -*-C-*- +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/gcloop.c,v 9.39 1992/02/18 17:30:10 jinx Exp $ + Copyright (c) 1987-1992 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts @@ -30,7 +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/gcloop.c,v 9.38 1992/01/15 02:25:57 jinx Exp $ +/* * * This file contains the code for the most primitive part * of garbage collection. @@ -178,6 +180,7 @@ DEFUN (GCLoop, fast char *word_ptr; SCHEME_OBJECT *end_scan; + START_OPERATOR_RELOCATION (Scan); count = (READ_OPERATOR_LINKAGE_COUNT (Temp)); word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan)); end_scan = (END_OPERATOR_LINKAGE_AREA (Scan, count)); @@ -195,6 +198,7 @@ DEFUN (GCLoop, STORE_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); } Scan = end_scan; + END_OPERATOR_RELOCATION (Scan); break; } @@ -215,6 +219,7 @@ DEFUN (GCLoop, fast char *word_ptr; SCHEME_OBJECT *area_end; + START_CLOSURE_RELOCATION (Scan); Scan += 1; count = (MANIFEST_CLOSURE_COUNT (Scan)); word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan)); @@ -233,6 +238,7 @@ DEFUN (GCLoop, } Scan = area_end; + END_CLOSURE_RELOCATION (Scan); break; } diff --git a/v7/src/microcode/purify.c b/v7/src/microcode/purify.c index aa597f4af..1eaed08f2 100644 --- a/v7/src/microcode/purify.c +++ b/v7/src/microcode/purify.c @@ -1,8 +1,8 @@ /* -*-C-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/purify.c,v 9.46 1991/05/05 00:46:02 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/purify.c,v 9.47 1992/02/18 17:30:22 jinx Exp $ -Copyright (c) 1988-1991 Massachusetts Institute of Technology +Copyright (c) 1988-1992 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -157,6 +157,7 @@ DEFUN (PurifyLoop, fast char *word_ptr; SCHEME_OBJECT *end_scan; + START_OPERATOR_RELOCATION (Scan); count = (READ_OPERATOR_LINKAGE_COUNT (Temp)); word_ptr = (FIRST_OPERATOR_LINKAGE_ENTRY (Scan)); end_scan = (END_OPERATOR_LINKAGE_AREA (Scan, count)); @@ -174,6 +175,7 @@ DEFUN (PurifyLoop, STORE_OPERATOR_LINKAGE_ADDRESS(Temp, Scan); } Scan = end_scan; + END_OPERATOR_RELOCATION (Scan); break; } @@ -202,6 +204,7 @@ DEFUN (PurifyLoop, /*NOTREACHED*/ } + START_CLOSURE_RELOCATION (Scan); Scan += 1; count = (MANIFEST_CLOSURE_COUNT (Scan)); word_ptr = (FIRST_MANIFEST_CLOSURE_ENTRY (Scan)); @@ -220,6 +223,7 @@ DEFUN (PurifyLoop, STORE_CLOSURE_ENTRY_ADDRESS(Temp, Scan); } Scan = area_end; + END_CLOSURE_RELOCATION (Scan); break; } -- 2.25.1