-;;; -*- Package: ALPHA; Log: C.Log -*-
-;;;
-;;; **********************************************************************
-;;; This code was written as part of the CMU Common Lisp project at
-;;; Carnegie Mellon University, and has been placed in the public domain.
-;;;
-
-;;;
-;;; **********************************************************************
-;;;
-;;; Linkage information for standard static functions, and random vops.
-;;;
-;;; Written by William Lott.
-;;; Converted by Sean Hallgren.
-;;;
-(in-package "SB!VM")
-
+;;;; linkage information for standard static functions, and random vops
+;;;; 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")
\f
-;;;; Length
+;;;; LENGTH
(define-vop (length/list)
(:translate length)
(inst bne temp done)
(inst and ptr lowtag-mask temp)
- (inst xor temp list-pointer-type temp)
+ (inst xor temp list-pointer-lowtag temp)
(inst bne temp not-list)
- (loadw ptr ptr cons-cdr-slot list-pointer-type)
+ (loadw ptr ptr cons-cdr-slot list-pointer-lowtag)
(inst addq count (fixnumize 1) count)
(inst br zero-tn loop)
DONE
(move count result)))
-
-(define-static-function length (object) :translate length)
-
-
-
+(define-static-fun length (object) :translate length)