From 817e408317b5deaa7b5dd8f1c9557864d14cbbf8 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Fri, 17 Aug 1990 23:40:55 +0000 Subject: [PATCH] Split cache flusing code from STORE_EXECUTE_CACHE_ADDRESS, since it is not needed at GC time because the whole cache is flushed immediately afterwards. The flushing code is now in FLUSH_I_CACHE_REGION, used explicitly by store_uuo_link in cmpint.c --- v7/src/microcode/cmpint.c | 11 ++++++++++- v8/src/microcode/cmpint.c | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/v7/src/microcode/cmpint.c b/v7/src/microcode/cmpint.c index 0bd16aa13..25b0ab7f8 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.28 1990/06/20 17:38:59 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/cmpint.c,v 1.29 1990/08/17 23:40:55 jinx Exp $ Copyright (c) 1989, 1990 Massachusetts Institute of Technology @@ -2170,6 +2170,14 @@ extract_uuo_link (block, offset) return (ENTRY_TO_OBJECT ((SCHEME_OBJECT *) compiled_entry_address)); } +#ifndef FLUSH_I_CACHE_REGION + +#define FLUSH_I_CACHE_REGION(addr, nwords) \ +do { \ +} while (0) + +#endif + static void store_uuo_link (entry, cache_address) SCHEME_OBJECT entry, *cache_address; @@ -2179,6 +2187,7 @@ store_uuo_link (entry, cache_address) entry_address = (OBJECT_ADDRESS (entry)); STORE_EXECUTE_CACHE_CODE (cache_address); STORE_EXECUTE_CACHE_ADDRESS (cache_address, entry_address); + FLUSH_I_CACHE_REGION (cache_address, EXECUTE_CACHE_ENTRY_SIZE); return; } diff --git a/v8/src/microcode/cmpint.c b/v8/src/microcode/cmpint.c index e0d143bea..131f58126 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.28 1990/06/20 17:38:59 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/cmpint.c,v 1.29 1990/08/17 23:40:55 jinx Exp $ Copyright (c) 1989, 1990 Massachusetts Institute of Technology @@ -2170,6 +2170,14 @@ extract_uuo_link (block, offset) return (ENTRY_TO_OBJECT ((SCHEME_OBJECT *) compiled_entry_address)); } +#ifndef FLUSH_I_CACHE_REGION + +#define FLUSH_I_CACHE_REGION(addr, nwords) \ +do { \ +} while (0) + +#endif + static void store_uuo_link (entry, cache_address) SCHEME_OBJECT entry, *cache_address; @@ -2179,6 +2187,7 @@ store_uuo_link (entry, cache_address) entry_address = (OBJECT_ADDRESS (entry)); STORE_EXECUTE_CACHE_CODE (cache_address); STORE_EXECUTE_CACHE_ADDRESS (cache_address, entry_address); + FLUSH_I_CACHE_REGION (cache_address, EXECUTE_CACHE_ENTRY_SIZE); return; } -- 2.25.1