Tweaks to get sb-simd 1.3 to compile
[sbcl/simd.git] / src / compiler / sparc / sanctify.lisp
blob06bbfe0ef541378497eec504f00073e6cb561ce7
1 ;;;; Do whatever is necessary to make the given code component
2 ;;;; executable.
4 ;;;; This software is part of the SBCL system. See the README file for
5 ;;;; more information.
6 ;;;;
7 ;;;; While most of SBCL is derived from the CMU CL system, the test
8 ;;;; files (like this one) were written from scratch after the fork
9 ;;;; from CMU CL.
10 ;;;;
11 ;;;; This software is in the public domain and is provided with
12 ;;;; absolutely no warranty. See the COPYING and CREDITS files for
13 ;;;; more information.
15 (in-package "SB!VM")
17 ;;; The comments in some of the cmucl source read that "the i and d
18 ;;; caches are unified, and so there is no need to flush them."
19 ;;;
20 ;;; Other bits of the cmucl source say that this is not true for
21 ;;; "newer machines, such as the SuperSPARC and MicroSPARC based
22 ;;; ones". Welcome to the 21st century... -- CSR, 2002-05-06
23 (defun sanctify-for-execution (component)
24 (without-gcing
25 (alien-funcall (extern-alien "os_flush_icache"
26 (function void
27 system-area-pointer
28 unsigned-long))
29 (code-instructions component)
30 (* (code-header-ref component code-code-size-slot)
31 n-word-bytes)))
32 nil)