X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fcell.lisp;h=c5e21b22f3607594c7994d50bff3991339fe8884;hb=c179ad4d7bef50a974e8907adb079d47c8bea37e;hp=a58ae4e81cbdeda781b2f061d07dc8ca346f3c88;hpb=4d5efa2b046c8d041b054452a1696ca53423a912;p=sbcl.git diff --git a/src/compiler/hppa/cell.lisp b/src/compiler/hppa/cell.lisp index a58ae4e..c5e21b2 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: @@ -92,6 +94,12 @@ ;; we must go through an temporary to avoid gc (move temp res))) +;;; On unithreaded builds these are just copies of the non-global versions. +(define-vop (%set-symbol-global-value set)) +(define-vop (symbol-global-value symbol-value) + (:translate symbol-global-value)) +(define-vop (fast-symbol-global-value fast-symbol-value) + (:translate symbol-global-value)) ;;;; Fdefinition (fdefn) objects. @@ -216,6 +224,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.