X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsparc%2Fsanctify.lisp;h=06bbfe0ef541378497eec504f00073e6cb561ce7;hb=ab6672fd5c392b8678681bdda138c4dc9e4de31a;hp=87e5d5e41c459258f4d723c3fba366760be14502;hpb=bc46c8bcdd6ac8918df8ea9e9db49808e4924fcf;p=sbcl.git diff --git a/src/compiler/sparc/sanctify.lisp b/src/compiler/sparc/sanctify.lisp index 87e5d5e..06bbfe0 100644 --- a/src/compiler/sparc/sanctify.lisp +++ b/src/compiler/sparc/sanctify.lisp @@ -7,14 +7,26 @@ ;;;; While most of SBCL is derived from the CMU CL system, the test ;;;; files (like this one) were written from scratch after the fork ;;;; from CMU CL. -;;;; +;;;; ;;;; This software is in the public domain and is provided with ;;;; absolutely no warranty. See the COPYING and CREDITS files for ;;;; more information. -(in-package :sb!vm) +(in-package "SB!VM") +;;; The comments in some of the cmucl source read that "the i and d +;;; caches are unified, and so there is no need to flush them." +;;; +;;; Other bits of the cmucl source say that this is not true for +;;; "newer machines, such as the SuperSPARC and MicroSPARC based +;;; ones". Welcome to the 21st century... -- CSR, 2002-05-06 (defun sanctify-for-execution (component) - (declare (ignore component)) + (without-gcing + (alien-funcall (extern-alien "os_flush_icache" + (function void + system-area-pointer + unsigned-long)) + (code-instructions component) + (* (code-header-ref component code-code-size-slot) + n-word-bytes))) nil) -