X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fmemory.lisp;h=ca9870ed275aaa94909a00ab7503dd053965bb03;hb=2253ebaef8a0a1527d2282a1c10f48c62e0d4a83;hp=0e9a19b55fe6d32523a856f91346e9367cc5b55e;hpb=cab2c71bb1bb8a575d9eebdae335e731daa64183;p=sbcl.git diff --git a/src/compiler/ppc/memory.lisp b/src/compiler/ppc/memory.lisp index 0e9a19b..ca9870e 100644 --- a/src/compiler/ppc/memory.lisp +++ b/src/compiler/ppc/memory.lisp @@ -1,12 +1,17 @@ -;;; reference VOPs inherited by basic memory reference operations. -;;; -;;; Written by Rob MacLachlan -;;; -;;; Converted by William Lott. -;;; +;;;; the PPC definitions of some general purpose memory reference VOPs +;;;; inherited by basic memory reference operations -(in-package "SB!VM") +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; This software is derived from the CMU CL system, which was +;;;; written at Carnegie Mellon University and released into the +;;;; public domain. The software is in the public domain and is +;;;; provided with absolutely no warranty. See the COPYING and CREDITS +;;;; files for more information. +(in-package "SB!VM") + ;;; Cell-Ref and Cell-Set are used to define VOPs like CAR, where the offset to ;;; be read or written is a property of the VOP used. ;;; @@ -50,10 +55,7 @@ ;;;; Indexed references: -;;; Define-Indexer -- Internal -;;; -;;; Define some VOPs for indexed memory reference. -;;; +;;; Define some VOPs for indexed memory reference. (defmacro define-indexer (name write-p ri-op rr-op shift &optional sign-extend-byte) `(define-vop (,name) (:args (object :scs (descriptor-reg)) @@ -73,8 +75,8 @@ (let ((offset (- (+ (if (sc-is index zero) 0 (ash (tn-value index) - (- sb!vm:word-shift ,shift))) - (ash offset sb!vm:word-shift)) + (- word-shift ,shift))) + (ash offset word-shift)) lowtag))) (etypecase offset ((signed-byte 16) @@ -86,7 +88,7 @@ ,@(unless (zerop shift) `((inst srwi temp index ,shift))) (inst addi temp ,(if (zerop shift) 'index 'temp) - (- (ash offset sb!vm:word-shift) lowtag)) + (- (ash offset word-shift) lowtag)) (inst ,rr-op value object temp))) ,@(when sign-extend-byte `((inst extsb value value)))