X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fcell.lisp;h=114ed55fac8b6bf9f7172059ddd213ec7ed36e45;hb=b83353d9f998e5c0e34604b5593df70c66d2c510;hp=bd525359cc2b5137adce9d0dab03389c85963aee;hpb=79a8e51bf4b06a5bd57bc90233605f98fee3b041;p=sbcl.git diff --git a/src/compiler/hppa/cell.lisp b/src/compiler/hppa/cell.lisp index bd52535..114ed55 100644 --- a/src/compiler/hppa/cell.lisp +++ b/src/compiler/hppa/cell.lisp @@ -30,6 +30,8 @@ (:results) (:generator 1 (storew value object offset lowtag))) + +(define-vop (init-slot set-slot)) ;;;; Symbol hacking VOPs: @@ -155,6 +157,8 @@ ;;; BIND -- Establish VAL as a binding for SYMBOL. Save the old value and ;;; the symbol on the binding stack and stuff the new value into the ;;; symbol. +;;; +;;; See the "Chapter 9: Specials" of the SBCL Internals Manual. (define-vop (bind) (:args (val :scs (any-reg descriptor-reg)) @@ -222,6 +226,12 @@ (define-vop (closure-init slot-set) (:variant closure-info-offset fun-pointer-lowtag)) + +(define-vop (closure-init-from-fp) + (:args (object :scs (descriptor-reg))) + (:info offset) + (:generator 4 + (storew cfp-tn object (+ closure-info-offset offset) fun-pointer-lowtag))) ;;;; Value Cell hackery.