Permalink
Browse files

first trace file!

We need to emit labels that we have generated, otherwise the metadata
isn't consistent and the compiler croaks.

We also need EMIT-BLOCK-HEADER and EMIT-ERROR-BREAK functions for
emittage, ERROR-TRAP and related variables, and the %TEST-HEADERS
function for automatically-generated type tests.

With this, we can compile src/code/scratch.lisp "successfully", and
also successfully generate the trace file to prove it.  (Said
compilation, of course, produces no actual instructions, and the trace
file reveals some issues with our current setup, but it's our first
tangible output artifact.  Onward!)
  • Loading branch information...
csrhodes committed Aug 13, 2018
1 parent 84046e7 commit 0af43b94c8aa4af7a2c54a7f579e30714955182e
@@ -50,7 +50,8 @@
(define-vop (xep-allocate-frame)
(:info start-lab)
(:generator 1))
(:generator 1
(emit-label start-lab)))
(define-vop (xep-setup-sp)
(:generator 1))
@@ -67,7 +68,13 @@
(define-vop (unknown-values-receiver)
(:results (start :scs (any-reg)) (count :scs (any-reg))))
(defun emit-block-header (start-label trampoline-label fall-thru-p align-p)
(declare (ignore fall-thru-p alignp))
(when trampoline-label
(emit-label trampoline-label))
(emit-label start-label))
(define-vop (call-local)
(:args (fp) (nfp) (args :more t))
(:results (values :more t))
@@ -10,7 +10,13 @@
;;;; files for more information.
(in-package "SB!VM")
(defun emit-error-break (vop kind code values)
(assemble ()
(when vop (note-this-location vop :internal-error))
(emit-internal-error kind code values)
(emit-alignment word-shift)))
(defmacro define-full-reffer (name type offset lowtag scs eltype &optional translate)
`(progn
(define-vop (,name)
@@ -11,6 +11,8 @@
(in-package "SB!VM")
(defun load-immediate-word (y val))
(define-move-fun (load-immediate 1) (vop x y)
((immediate) (any-reg descriptor-reg))
(let ((val (tn-value x)))
@@ -80,7 +80,6 @@
;;;; other miscellaneous constants
#+nil
(defenum (:start 8)
halt-trap
pending-interrupt-trap
@@ -10,3 +10,6 @@
;;;; files for more information.
(in-package "SB!VM")
(defun %test-headers (value temp target not-p function-p headers
&key (drop-through)))

0 comments on commit 0af43b9

Please sign in to comment.