X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Falpha%2Fmemory.lisp;h=fef2a833047c8d8871ec60e3f5841e70de3276e1;hb=69e6aef5e6fb3bd682c7a2cbf774034d2ea58ee8;hp=f1e3bc2da06f89ccc2585455264775abde61b0db;hpb=dfa55a883f94470267b626dae77ce7e7dfac3df6;p=sbcl.git diff --git a/src/compiler/alpha/memory.lisp b/src/compiler/alpha/memory.lisp index f1e3bc2..fef2a83 100644 --- a/src/compiler/alpha/memory.lisp +++ b/src/compiler/alpha/memory.lisp @@ -1,28 +1,19 @@ -;;; -*- Package: ALPHA -*- -;;; -;;; ********************************************************************** -;;; This code was written as part of the CMU Common Lisp project at -;;; Carnegie Mellon University, and has been placed in the public domain. -;;; +;;;; the Alpha definitions of some general purpose memory reference +;;;; VOPs inherited by basic memory reference operations -;;; -;;; ********************************************************************** -;;; -;;; This file contains the Alpha definitions of some general purpose memory -;;; reference VOPs inherited by basic memory reference operations. -;;; -;;; Written by Rob MacLachlan -;;; -;;; Converted by Sean Hallgren. -;;; +;;;; 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. -;;; +;;; 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. (define-vop (cell-ref) (:args (object :scs (descriptor-reg))) (:results (value :scs (descriptor-reg any-reg))) @@ -30,7 +21,6 @@ (:policy :fast-safe) (:generator 4 (loadw value object offset lowtag))) -;;; (define-vop (cell-set) (:args (object :scs (descriptor-reg)) (value :scs (descriptor-reg any-reg null zero))) @@ -39,10 +29,9 @@ (:generator 4 (storew value object offset lowtag))) -;;; Slot-Ref and Slot-Set are used to define VOPs like Closure-Ref, where the -;;; offset is constant at compile time, but varies for different uses. We add -;;; in the stardard g-vector overhead. -;;; +;;; Slot-Ref and Slot-Set are used to define VOPs like Closure-Ref, +;;; where the offset is constant at compile time, but varies for +;;; different uses. We add in the stardard g-vector overhead. (define-vop (slot-ref) (:args (object :scs (descriptor-reg))) (:results (value :scs (descriptor-reg any-reg))) @@ -50,10 +39,9 @@ (:info offset) (:generator 4 (loadw value object (+ base offset) lowtag))) -;;; (define-vop (slot-set) (:args (object :scs (descriptor-reg)) - (value :scs (descriptor-reg any-reg null zero))) + (value :scs (descriptor-reg any-reg null zero))) (:variant-vars base lowtag) (:info offset) (:generator 4