[Openmcl-cvs-notifications] r14710 - in /trunk/source/level-0/X86: X8632/x8632-misc.lisp x86-misc.lisp
gb at clozure.com
gb at clozure.com
Tue Apr 12 06:30:26 CDT 2011
Author: gb
Date: Tue Apr 12 06:30:25 2011
New Revision: 14710
Log:
%IVECTOR-FROM-MACPTR for X86{32,64}
Modified:
trunk/source/level-0/X86/X8632/x8632-misc.lisp
trunk/source/level-0/X86/x86-misc.lisp
Modified: trunk/source/level-0/X86/X8632/x8632-misc.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/level-0/X86/X8632/x8632-misc.lisp (original)
+++ trunk/source/level-0/X86/X8632/x8632-misc.lisp Tue Apr 12 06:30:25 2011
@@ -665,6 +665,19 @@
(movl (% imm0) (@ x8632::macptr.address (% ptr)))
(single-value-return))
=
+(defx8632lapfunction %ivector-from-macptr ((ptr arg_z))
+ (macptr-ptr ptr imm0)
+ (mark-as-imm temp0)
+ (let ((imm1 temp0))
+ (movl (% imm0) (% imm1))
+ (andl ($ target::node-size) (% imm1))
+ (xorl ($ target::node-size) (% imm1))
+ (addl ($ (- target::fulltag-misc target::node-size)) (% imm0))
+ (subl (% imm1) (% imm0))
+ (mark-as-node imm1))
+ (movl (% imm0) (% arg_z))
+ (single-value-return))
+
;;; Sadly, we have no NVRs on x8632.
(defun get-saved-register-values ()
(values))
Modified: trunk/source/level-0/X86/x86-misc.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/level-0/X86/x86-misc.lisp (original)
+++ trunk/source/level-0/X86/x86-misc.lisp Tue Apr 12 06:30:25 2011
@@ -601,6 +601,11 @@
(defx86lapfunction %vect-data-to-macptr ((vect arg_y) (ptr arg_z))
(lea (@ x8664::misc-data-offset (% vect)) (% imm0))
(movq (% imm0) (@ x8664::macptr.address (% ptr)))
+ (single-value-return))
+
+(defx86lapfunction %ivector-from-macptr ((ptr arg_z))
+ (macptr-ptr ptr imm0)
+ (lea (@ (- target::fulltag-misc target::node-size) (% imm0)) (% arg_z))
(single-value-return))
=
(defx86lapfunction get-saved-register-values ()
More information about the Openmcl-cvs-notifications
mailing list