From: <me...@us...> - 2006-10-06 11:44:27
|
Update of /cvsroot/sbcl/sbcl/src/compiler/hppa In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv23585/src/compiler/hppa Modified Files: cell.lisp Log Message: 0.9.17.10: async unwind for specials * in UNBIND zero the symbol before the value * in UNBIND-TO-HERE zero the value even if the symbol is zero Index: cell.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/hppa/cell.lisp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- cell.lisp 6 Oct 2006 10:54:15 -0000 1.6 +++ cell.lisp 6 Oct 2006 11:44:20 -0000 1.7 @@ -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)) |