1 ;;;; allocating simple objects
3 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
14 ;;;; from signed/unsigned
16 ;;; KLUDGE: Why don't we want vops for this one and the next
17 ;;; one? -- WHN 19990916
18 #+sb-assembling ; We don't want a vop for this one.
19 (define-assembly-routine
21 ((:temp eax unsigned-reg eax-offset)
22 (:temp ebx unsigned-reg ebx-offset))
33 (with-fixed-allocation (ebx bignum-widetag (+ bignum-digits-offset 1))
34 (storew eax ebx bignum-digits-offset other-pointer-lowtag))
38 #+sb-assembling ; We don't want a vop for this one either.
39 (define-assembly-routine
41 ((:temp eax unsigned-reg eax-offset)
42 (:temp ebx unsigned-reg ebx-offset))
55 (with-fixed-allocation (ebx bignum-widetag (+ bignum-digits-offset 2))
56 (storew eax ebx bignum-digits-offset other-pointer-lowtag))