Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
(clc::bi
(unless (<= #x-80000 offset #x7FFFF)
(error "Offset #X~X out of BI range for ~A to reference ~A.~%"
offset (car reflist) (cadr refs)))
(patch-instruction (hi lo address location)
(setf (ldb (byte 4 0) hi) (ash offset -16))
(setq lo (logand offset #xFFFF))))
(clc::ba (error "I can't resolve a BA reference yet.~%"))
(clc::l (error "I can't resolve an L reference yet.~%"))))))))
(setq *external-references* ())
(dolist (mo *miscop-definitions*)
(let* ((name (intern (symbol-name (car mo)) (find-package "COMPILER")))
(index (get name 'clc::transfer-vector-index)))
(if index
(%primitive write-control-stack
(%primitive make-immediate-type (ash index 2)
%assembler-code-type)
(cdr mo))
(pushnew name *user-defined-miscops*))))
(setq *miscop-definitions* ()))
(proclaim '(notinline read-byte))