Put stubs into warm build phase adjacent to setf-funs
[sbcl.git] / src / code / stubs.lisp
blob84c2487e8d0c5f1da42a81a5db05fd39ebea3f75
1 ;;;; miscellaneous primitive stubs (ordinary FDEFINITIONs for full
2 ;;;; call defined in terms of fundamental definitions of inline
3 ;;;; expansions)
5 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; more information.
7 ;;;;
8 ;;;; This software is derived from the CMU CL system, which was
9 ;;;; written at Carnegie Mellon University and released into the
10 ;;;; public domain. The software is in the public domain and is
11 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
12 ;;;; files for more information.
14 (in-package "SB-IMPL")
16 (macrolet ((def (name &optional (args '(x)))
17 `(defun ,name ,args
18 (,@(if (listp name) `(funcall #',name) `(,name)) ,@args))))
19 (def get-header-data)
20 (def set-header-data (x val))
21 (def get-closure-length)
22 (def widetag-of)
23 (def %other-pointer-widetag)
24 (def vector-sap)
25 (def binding-stack-pointer-sap ())
26 ;; x86 uses a plain old inline function for 'dynamic_space_free_pointer'
27 ;; so there's no stub function for DYNAMIC-SPACE-FREE-POINTER.
28 #-(or x86 x86-64) (def dynamic-space-free-pointer ())
29 (def control-stack-pointer-sap ())
30 (def sb-c:safe-fdefn-fun)
31 (def fun-subtype)
32 (def simple-fun-p)
33 (def %simple-fun-arglist)
34 (def (setf %simple-fun-arglist) (new-value func))
35 (def %simple-fun-name)
36 (def (setf %simple-fun-name) (new-value func))
37 (def closurep)
38 (def %closure-fun)
39 (def %closure-index-ref (closure index))
40 (def sb-c::vector-length)
41 (def allocate-vector (type length words))
42 (def make-array-header (type rank))
43 (def code-instructions)
44 (def code-header-ref (code-obj index))
45 (def code-header-set (code-obj index new))
46 (def %vector-raw-bits (object offset))
47 (def single-float-bits)
48 (def double-float-high-bits)
49 (def double-float-low-bits)
50 (def value-cell-ref)
51 (def %caller-frame ())
52 (def %caller-pc ())
53 (def %code-code-size)
54 (def %code-debug-info)
55 #+(or x86 immobile-space) (def sb-vm::%code-fixups)
56 (def %funcallable-instance-layout)
57 (def %set-funcallable-instance-layout (x new-value)))