[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