X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fvm.lisp;h=9602f2fc88ef0cb4f1a6c25dea5a99501c1cf911;hb=e536da6bd0f0b6db16863f5e031a05e6797fc2a9;hp=65e05152768a3c0c60f0d7d6194646520b9fe1ea;hpb=edcee4b6f7a7d6cee982dcbbf168a4bcd158a5e4;p=sbcl.git diff --git a/src/compiler/mips/vm.lisp b/src/compiler/mips/vm.lisp index 65e0515..9602f2f 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) @@ -108,14 +108,13 @@ (list* `(define-storage-class ,sc-name ,index ,@(cdr class)) `(def!constant ,constant-name ,index) - `(export ',constant-name) forms))) (index 0 (1+ index)) (classes classes (cdr classes))) ((null classes) (nreverse forms)))) -(def!constant kludge-nondeterministic-catch-block-size 7) +(def!constant kludge-nondeterministic-catch-block-size 6) (!define-storage-classes @@ -314,6 +313,10 @@ (character (sc-number-or-lose 'immediate)))) +(!def-vm-support-routine 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 @@ -375,3 +378,7 @@ (!def-vm-support-routine 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)