From: <me...@us...> - 2006-10-06 11:44:27
|
Update of /cvsroot/sbcl/sbcl/src/compiler/ppc In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv23585/src/compiler/ppc 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/ppc/cell.lisp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- cell.lisp 6 Oct 2006 10:54:15 -0000 1.12 +++ cell.lisp 6 Oct 2006 11:44:20 -0000 1.13 @@ -171,8 +171,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 subi bsp-tn bsp-tn (* 2 n-word-bytes)))) @@ -194,10 +194,10 @@ (inst beq 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)) (emit-label skip) + (storew zero-tn bsp-tn (- binding-value-slot binding-size)) (inst subi bsp-tn bsp-tn (* 2 n-word-bytes)) (inst cmpw where bsp-tn) (inst bne loop) |