1 ;;;; VOPs which are useful for following the progress of the system
4 ;;;; This software is part of the SBCL system. See the README file for
7 ;;;; This software is derived from the CMU CL system, which was
8 ;;;; written at Carnegie Mellon University and released into the
9 ;;;; public domain. The software is in the public domain and is
10 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
11 ;;;; files for more information.
15 ;;; FIXME: should probably become conditional on #!+SB-SHOW
16 ;;; FIXME: should be called DEBUG-PRINT or COLD-PRINT
18 (:args (object :scs (descriptor-reg any-reg)))
19 (:temporary (:sc unsigned-reg
25 #!+darwin (:temporary (:sc unsigned-reg
28 (:results (result :scs (descriptor-reg)))
31 ;; the stack should be 16-byte aligned on Darwin
32 #!-darwin (inst push object)
33 #!+darwin (progn (inst mov prev-stack-pointer esp-tn)
34 (inst sub esp-tn n-word-bytes)
36 (storew object esp-tn))
37 (inst lea eax (make-fixup "debug_print" :foreign))
38 (inst call (make-fixup "call_into_c" :foreign))
39 #!-darwin (inst add esp-tn n-word-bytes)
40 #!+darwin (inst mov esp-tn prev-stack-pointer)