X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fhppa%2Fcell.lisp;h=42879add4bb84e2db1bd67d197ddc072e3561110;hb=6822034325136cde4e14773c83c3769b42721306;hp=8c16d62e115b37ffc4a6464df4c5f6fac8a3797b;hpb=af4d83b57531e98d455f31980ef6359465d3d5a7;p=sbcl.git diff --git a/src/compiler/hppa/cell.lisp b/src/compiler/hppa/cell.lisp index 8c16d62..42879ad 100644 --- a/src/compiler/hppa/cell.lisp +++ b/src/compiler/hppa/cell.lisp @@ -167,8 +167,8 @@ (loadw symbol bsp-tn (- binding-symbol-slot binding-size)) (loadw value bsp-tn (- binding-value-slot binding-size)) (storew value symbol symbol-value-slot other-pointer-lowtag) - (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (storew zero-tn bsp-tn (- binding-symbol-slot binding-size)) + (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (inst addi (- (* binding-size n-word-bytes)) bsp-tn bsp-tn))) (define-vop (unbind-to-here) @@ -182,10 +182,10 @@ (inst comb := symbol zero-tn skip) (loadw value bsp-tn (- binding-value-slot binding-size)) (storew value symbol symbol-value-slot other-pointer-lowtag) - (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (storew zero-tn bsp-tn (- binding-symbol-slot binding-size)) SKIP + (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (inst addi (* -2 n-word-bytes) bsp-tn bsp-tn) (inst comb :<> where bsp-tn loop :nullify t) (loadw symbol bsp-tn (- binding-symbol-slot binding-size)) @@ -208,17 +208,11 @@ funcallable-instance-info-offset fun-pointer-lowtag (descriptor-reg any-reg) * %funcallable-instance-info) -(define-vop (funcallable-instance-lexenv cell-ref) - (:variant funcallable-instance-lexenv-slot fun-pointer-lowtag)) - - (define-vop (closure-ref slot-ref) (:variant closure-info-offset fun-pointer-lowtag)) (define-vop (closure-init slot-set) (:variant closure-info-offset fun-pointer-lowtag)) - - ;;;; Value Cell hackery. @@ -242,20 +236,6 @@ (loadw res struct 0 instance-pointer-lowtag) (inst srl res n-widetag-bits res))) -(define-vop (instance-ref slot-ref) - (:variant instance-slots-offset instance-pointer-lowtag) - (:policy :fast-safe) - (:translate %instance-ref) - (:arg-types instance (:constant index))) - -#+nil ; As per usual (cf sbcl-devel discussion about this VOP which - ; appears to return no values) -(define-vop (instance-set slot-set) - (:policy :fast-safe) - (:translate %instance-set) - (:variant instance-slots-offset instance-pointer-lowtag) - (:arg-types instance (:constant index) *)) - (define-full-reffer instance-index-ref * instance-slots-offset instance-pointer-lowtag (descriptor-reg any-reg) * %instance-ref)