0.7.7.26:
[sbcl.git] / src / compiler / ppc / sanctify.lisp
1 ;;;; Do whatever is necessary to make the given code component
2 ;;;; executable.
3
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.
14
15 (in-package :sb!vm)
16
17
18 \f
19 ;;; Do whatever is necessary to make the given code component executable.
20 ;;; On the 601, we have less to do than on some other PowerPC chips.
21 ;;; This should be what needs to be done in the general case.
22 (defun sanctify-for-execution (component)
23   (without-gcing
24     (alien-funcall (extern-alien "ppc_flush_icache"
25                                  (function void
26                                            system-area-pointer
27                                            unsigned-long))
28                    (code-instructions component)
29                    (* (code-header-ref component code-code-size-slot)
30                       n-word-bytes)))
31   nil)
32
33