Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
cmucl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Carl Shapiro
cmucl
Commits
6ebb5ca6
Commit
6ebb5ca6
authored
32 years ago
by
wlott
Browse files
Options
Downloads
Patches
Plain Diff
Removed some unused cruft and updated the header.
parent
c6874a75
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
compiler/sparc/memory.lisp
+9
-53
9 additions, 53 deletions
compiler/sparc/memory.lisp
with
9 additions
and
53 deletions
compiler/sparc/memory.lisp
+
9
−
53
View file @
6ebb5ca6
;;; -*- Package: SPARC -*-
;;;
;;; **********************************************************************
;;; This code was written as part of the Spice Lisp project at
;;; Carnegie-Mellon University, and has been placed in the public domain.
;;; If you want to use this code or any part of Spice Lisp, please contact
;;; Scott Fahlman (FAHLMAN@CMUC).
;;; **********************************************************************
;;; This code was written as part of the CMU Common Lisp project at
;;; Carnegie Mellon University, and has been placed in the public domain.
;;; If you want to use this code or any part of CMU Common Lisp, please contact
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(
ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/memory.lisp,v 1.2 1992/12/16 20:26:30 wlott Exp $"
)
;;;
;;;
$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/memory.lisp,v 1.1 1990/11/30 17:04:52 wlott Exp $
;;;
**********************************************************************
;;;
;;; This file contains the SPARC definitions of some general purpose memory
;;; reference VOPs inherited by basic memory reference operations.
...
...
@@ -20,10 +22,7 @@
(
in-package
"SPARC"
)
;;; 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-Setf is similar to
;;; Cell-Set, but delivers the new value as the result. Cell-Setf-Function
;;; takes its arguments as if it were a setf function (new value first, as
;;; apposed to a setf macro, which takes the new value last).
;;; be read or written is a property of the VOP used.
;;;
(
define-vop
(
cell-ref
)
(
:args
(
object
:scs
(
descriptor-reg
)))
...
...
@@ -40,49 +39,6 @@
(
:policy
:fast-safe
)
(
:generator
4
(
storew
value
object
offset
lowtag
)))
;;;
(
define-vop
(
cell-setf
)
(
:args
(
object
:scs
(
descriptor-reg
))
(
value
:scs
(
descriptor-reg
any-reg
)
:target
result
))
(
:results
(
result
:scs
(
descriptor-reg
any-reg
)))
(
:variant-vars
offset
lowtag
)
(
:policy
:fast-safe
)
(
:generator
4
(
storew
value
object
offset
lowtag
)
(
move
result
value
)))
;;;
(
define-vop
(
cell-setf-function
)
(
:args
(
value
:scs
(
descriptor-reg
any-reg
)
:target
result
)
(
object
:scs
(
descriptor-reg
)))
(
:results
(
result
:scs
(
descriptor-reg
any-reg
)))
(
:variant-vars
offset
lowtag
)
(
:policy
:fast-safe
)
(
:generator
4
(
storew
value
object
offset
lowtag
)
(
move
result
value
)))
;;; Define-Cell-Accessors -- Interface
;;;
;;; Define accessor VOPs for some cells in an object. If the operation name
;;; is NIL, then that operation isn't defined. If the translate function is
;;; null, then we don't define a translation.
;;;
(
defmacro
define-cell-accessors
(
offset
lowtag
ref-op
ref-trans
set-op
set-trans
)
`
(
progn
,@
(
when
ref-op
`
((
define-vop
(
,
ref-op
cell-ref
)
(
:variant
,
offset
,
lowtag
)
,@
(
when
ref-trans
`
((
:translate
,
ref-trans
))))))
,@
(
when
set-op
`
((
define-vop
(
,
set-op
cell-setf
)
(
:variant
,
offset
,
lowtag
)
,@
(
when
set-trans
`
((
:translate
,
set-trans
))))))))
;;; 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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment