X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fvm.lisp;h=cf909766255f71adc512ff56150b5b678327b1bc;hb=74cf7a4d01664fbf72a662ba093ad67ca243b524;hp=25f201890c1573c953d0438dfeec420c71d43a03;hpb=40ff825e1412e07414444e8852136f820b7606a2;p=sbcl.git diff --git a/src/compiler/mips/vm.lisp b/src/compiler/mips/vm.lisp index 25f2018..cf90976 100644 --- a/src/compiler/mips/vm.lisp +++ b/src/compiler/mips/vm.lisp @@ -70,10 +70,10 @@ (defreg lip 31) ; Lisp interior pointer (defregset non-descriptor-regs - nl0 nl1 nl2 nl3 nl4 cfunc nargs) + nl0 nl1 nl2 nl3 nl4 cfunc nargs nfp) (defregset descriptor-regs - a0 a1 a2 a3 a4 a5 fdefn lexenv nfp ocfp lra l0 l1) + a0 a1 a2 a3 a4 a5 fdefn lexenv ocfp lra l0 l1) (defregset *register-arg-offsets* a0 a1 a2 a3 a4 a5) @@ -114,7 +114,7 @@ ((null classes) (nreverse forms)))) -(def!constant kludge-nondeterministic-catch-block-size 7) +(def!constant kludge-nondeterministic-catch-block-size 6) (!define-storage-classes @@ -295,7 +295,7 @@ ;;; If VALUE can be represented as an immediate constant, then return the ;;; appropriate SC number, otherwise return NIL. -(!def-vm-support-routine immediate-constant-sc (value) +(defun immediate-constant-sc (value) (typecase value ((integer 0 0) (sc-number-or-lose 'zero)) @@ -313,6 +313,10 @@ (character (sc-number-or-lose 'immediate)))) +(defun boxed-immediate-sc-p (sc) + (or (eql sc (sc-number-or-lose 'zero)) + (eql sc (sc-number-or-lose 'null)) + (eql sc (sc-number-or-lose 'immediate)))) ;;;; Function Call Parameters @@ -358,7 +362,7 @@ ;;; This function is called by debug output routines that want a pretty name ;;; for a TN's location. It returns a thing that can be printed with PRINC. -(!def-vm-support-routine location-print-name (tn) +(defun location-print-name (tn) (declare (type tn tn)) (let ((sb (sb-name (sc-sb (tn-sc tn)))) (offset (tn-offset tn))) @@ -371,6 +375,10 @@ (constant (format nil "Const~D" offset)) (immediate-constant "Immed")))) -(!def-vm-support-routine combination-implementation-style (node) +(defun combination-implementation-style (node) (declare (type sb!c::combination node) (ignore node)) (values :default nil)) + +(defun primitive-type-indirect-cell-type (ptype) + (declare (ignore ptype)) + nil)