[Git][cmucl/cmucl][sparc64-dev] 3 commits: Make target fixnum 61 bits long
Raymond Toy
rtoy at common-lisp.net
Thu Jan 4 03:51:47 UTC 2018
Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits:
93f40930 by Raymond Toy at 2018-01-03T16:13:54-08:00
Make target fixnum 61 bits long
Let's try this and see how far we can get. If it proves to be too
complicated, revert this and use 30-bit fixnums instead of 62-bit
fixnums.
- - - - -
dc477f5b by Raymond Toy at 2018-01-03T16:15:48-08:00
Fix typo: sparc64 -> sparc-64.
- - - - -
34f8edd9 by Raymond Toy at 2018-01-03T19:52:03-08:00
Bignum digits is still int for sparc64
For simplicity, we're keeping bignum digits in a 32-bit object because
sparc-v9 doesn't have a 64x64->128 multiply.
- - - - -
1 changed file:
- src/compiler/generic/objdef.lisp
Changes:
=====================================
src/compiler/generic/objdef.lisp
=====================================
--- a/src/compiler/generic/objdef.lisp
+++ b/src/compiler/generic/objdef.lisp
@@ -92,10 +92,12 @@
); eval-when
-(defparameter target-most-positive-fixnum (1- (ash 1 #-amd64 29 #+amd64 61))
+(defparameter target-most-positive-fixnum
+ (1- (ash 1 #-(or amd64 sparc-64) 29 #+(or amd64 sparc-64) 61))
"most-positive-fixnum in the target architecture.")
-(defparameter target-most-negative-fixnum (ash -1 #-amd64 29 #+amd64 61)
+(defparameter target-most-negative-fixnum
+ (ash -1 #-(or amd64 sparc-64) 29 #+(or amd64 sparc-64) 61)
"most-negative-fixnum in the target architecture.")
@@ -202,7 +204,11 @@
(define-primitive-object (bignum :lowtag other-pointer-type
:header bignum-type
:alloc-trans bignum::%allocate-bignum)
- (digits :rest-p t :c-type #-alpha "long" #+alpha "u32"))
+ (digits :rest-p t
+ :c-type
+ #-(or alpha sparc-v9) "long"
+ #+alpha "u32"
+ #+sparc-v9 "int"))
(define-primitive-object (ratio :type ratio
:lowtag other-pointer-type
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/5e00e1dc01a4e19469e10d2308374df2e7e1a17b...34f8edd9936a038e22820e6e359cfbe958f7578a
---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/5e00e1dc01a4e19469e10d2308374df2e7e1a17b...34f8edd9936a038e22820e6e359cfbe958f7578a
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20180104/e4b67478/attachment-0001.html>
More information about the cmucl-cvs
mailing list