Initial revision
[sbcl.git] / src / compiler / pseudo-vops.lisp
1 ;;;; This file contains definitions of VOPs used as internal markers by
2 ;;;; the compiler. Since they don't emit any code, they should be
3 ;;;; portable.
4
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.
13
14 (in-package "SB!C")
15
16 (file-comment
17   "$Header$")
18
19 ;;; This notes the place at which the environment is properly
20 ;;; initialized, for debug-info purposes.
21 (define-vop (note-environment-start)
22   (:info start-lab)
23   (:vop-var vop)
24   (:save-p :compute-only)
25   (:generator 0
26     (emit-label start-lab)
27     (note-debug-location vop start-lab :non-local-entry)))
28
29 ;;; Call a move function. Used for register save/restore and spilling.
30 (define-vop (move-operand)
31   (:args (x))
32   (:results (y))
33   (:info name)
34   (:vop-var vop)
35   (:generator 0
36     (funcall (symbol-function name) vop x y)))