Declare COERCE and two helpers as EXPLICIT-CHECK.
[sbcl.git] / src / compiler / arm / sanctify.lisp
blob5d54a782d031140a1df9b843a4f3492511e520b6
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 ;;; Do whatever is necessary to make the given code component
18 ;;; executable. This isn't always strictly necessary (some ARM
19 ;;; systems have coherent caches, for example), but it covers the
20 ;;; general case.
21 (defun sanctify-for-execution (component)
22 (without-gcing
23 (alien-funcall (extern-alien "os_flush_icache"
24 (function void
25 system-area-pointer
26 unsigned-long))
27 (code-instructions component)
28 (%code-code-size component)))
29 nil)