projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.7.13.32
[sbcl.git]
/
src
/
compiler
/
x86
/
sap.lisp
diff --git
a/src/compiler/x86/sap.lisp
b/src/compiler/x86/sap.lisp
index
b9e6bcd
..
c834de3
100644
(file)
--- a/
src/compiler/x86/sap.lisp
+++ b/
src/compiler/x86/sap.lisp
@@
-19,7
+19,7
@@
(:results (y :scs (sap-reg)))
(:note "pointer to SAP coercion")
(:generator 1
(:results (y :scs (sap-reg)))
(:note "pointer to SAP coercion")
(:generator 1
- (loadw y x sap-pointer-slot other-pointer-type)))
+ (loadw y x sap-pointer-slot other-pointer-lowtag)))
(define-move-vop move-to-sap :move
(descriptor-reg) (sap-reg))
(define-move-vop move-to-sap :move
(descriptor-reg) (sap-reg))
@@
-30,8
+30,8
@@
(:note "SAP to pointer coercion")
(:node-var node)
(:generator 20
(:note "SAP to pointer coercion")
(:node-var node)
(:generator 20
- (with-fixed-allocation (res sap-type sap-size node)
- (storew sap res sap-pointer-slot other-pointer-type))))
+ (with-fixed-allocation (res sap-widetag sap-size node)
+ (storew sap res sap-pointer-slot other-pointer-lowtag))))
(define-move-vop move-from-sap :move
(sap-reg) (descriptor-reg))
(define-move-vop move-from-sap :move
(sap-reg) (descriptor-reg))
@@
-51,7
+51,7
@@
(sap-reg) (sap-reg))
;;; Move untagged sap arguments/return-values.
(sap-reg) (sap-reg))
;;; Move untagged sap arguments/return-values.
-(define-vop (move-sap-argument)
+(define-vop (move-sap-arg)
(:args (x :target y
:scs (sap-reg))
(fp :scs (any-reg)
(:args (x :target y
:scs (sap-reg))
(fp :scs (any-reg)
@@
-66,12
+66,12
@@
(if (= (tn-offset fp) esp-offset)
(storew x fp (tn-offset y)) ; c-call
(storew x fp (- (1+ (tn-offset y)))))))))
(if (= (tn-offset fp) esp-offset)
(storew x fp (tn-offset y)) ; c-call
(storew x fp (- (1+ (tn-offset y)))))))))
-(define-move-vop move-sap-argument :move-argument
+(define-move-vop move-sap-arg :move-arg
(descriptor-reg sap-reg) (sap-reg))
(descriptor-reg sap-reg) (sap-reg))
-;;; Use standard MOVE-ARGUMENT + coercion to move an untagged sap to a
+;;; Use standard MOVE-ARG + coercion to move an untagged sap to a
;;; descriptor passing location.
;;; descriptor passing location.
-(define-move-vop move-argument :move-argument
+(define-move-vop move-arg :move-arg
(sap-reg) (descriptor-reg))
\f
;;;; SAP-INT and INT-SAP
(sap-reg) (descriptor-reg))
\f
;;;; SAP-INT and INT-SAP
@@
-496,4
+496,6
@@
(:result-types system-area-pointer)
(:generator 2
(move sap vector)
(:result-types system-area-pointer)
(:generator 2
(move sap vector)
- (inst add sap (- (* vector-data-offset word-bytes) other-pointer-type))))
+ (inst add
+ sap
+ (- (* vector-data-offset n-word-bytes) other-pointer-lowtag))))