Update of /cvsroot/sbcl/sbcl/src/compiler/ppc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6783/src/compiler/ppc
Modified Files:
macros.lisp
Log Message:
0.9.0.30: towards callbacks: static-vectors
* SB-INT:MAKE-STATIC-VECTOR allows direct allocation of specialized
vectors to static space. This is eventually destined to become
SB-EXT:MAKE-STATIC-ARRAY, but needs more frills before that --
current setup is enough to support callbacks (and a bit more then
that).
* unrelated defrobnification, s/&rest/&body/ in a few places, and
commentary on cunning punning.
Index: macros.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/ppc/macros.lisp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- macros.lisp 6 May 2005 18:58:37 -0000 1.8
+++ macros.lisp 13 May 2005 18:30:46 -0000 1.9
@@ -21,11 +21,11 @@
(inst mr ,n-dst ,n-src))))
(macrolet
- ((frob (op inst shift)
+ ((def (op inst shift)
`(defmacro ,op (object base &optional (offset 0) (lowtag 0))
`(inst ,',inst ,object ,base (- (ash ,offset ,,shift) ,lowtag)))))
- (frob loadw lwz word-shift)
- (frob storew stw word-shift))
+ (def loadw lwz word-shift)
+ (def storew stw word-shift))
(defmacro load-symbol (reg symbol)
`(inst addi ,reg null-tn (static-symbol-offset ,symbol)))
@@ -218,7 +218,7 @@
;;; aligns ALLOC-TN again and (b) makes ALLOC-TN go negative. We then
;;; trap if ALLOC-TN's negative (handling the deferred interrupt) and
;;; using FLAG-TN - minus the large constant - to correct ALLOC-TN.
-(defmacro pseudo-atomic ((flag-tn &key (extra 0)) &rest forms)
+(defmacro pseudo-atomic ((flag-tn &key (extra 0)) &body forms)
(let ((n-extra (gensym)))
`(let ((,n-extra ,extra))
(without-scheduling ()
|