X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Fmips%2Farith.lisp;h=b409c34427364c1f14152d7316cc935f0bb0c800;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=5ac9b9795f3d953517f890ed3f002409293a2d87;hpb=60d14c472f42fb56b80aa1b9df28d5c3f447d6a3;p=sbcl.git diff --git a/src/assembly/mips/arith.lisp b/src/assembly/mips/arith.lisp index 5ac9b97..b409c34 100644 --- a/src/assembly/mips/arith.lisp +++ b/src/assembly/mips/arith.lisp @@ -1,3 +1,14 @@ +;;;; stuff to handle simple cases for generic arithmetic + +;;;; 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") @@ -46,7 +57,8 @@ ;; We did overflow, so do the bignum version (inst sra temp2 y n-fixnum-tag-bits) (inst addu temp temp1 temp2) - (with-fixed-allocation (res pa-flag temp2 bignum-widetag (1+ bignum-digits-offset)) + (with-fixed-allocation (res pa-flag temp2 bignum-widetag + (1+ bignum-digits-offset) nil) (storew temp res bignum-digits-offset other-pointer-lowtag)) (lisp-return lra lip :offset 2) @@ -94,7 +106,8 @@ ;; We did overflow, so do the bignum version (inst sra temp2 y n-fixnum-tag-bits) (inst subu temp temp1 temp2) - (with-fixed-allocation (res pa-flag temp2 bignum-widetag (1+ bignum-digits-offset)) + (with-fixed-allocation (res pa-flag temp2 bignum-widetag + (1+ bignum-digits-offset) nil) (storew temp res bignum-digits-offset other-pointer-lowtag)) (lisp-return lra lip :offset 2)