Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits:
-
585895ac
by Raymond Toy at 2017-01-15T08:42:11-08:00
2 changed files:
Changes:
... | ... | @@ -148,7 +148,7 @@ |
148 | 148 |
"Return a descriptor for a block of LENGTH bytes out of SPACE. The free
|
149 | 149 |
pointer is boosted as necessary. If any additional memory is needed, we
|
150 | 150 |
vm_allocate it. The descriptor returned is a pointer of type LOWTAG."
|
151 |
- (let* ((bytes (round-up length #+amd64 16 #-amd64 (ash 1 vm:lowtag-bits)))
|
|
151 |
+ (let* ((bytes (round-up length (* 2 vm:word-bytes)))
|
|
152 | 152 |
(offset (space-free-pointer space))
|
153 | 153 |
(new-free-ptr (+ offset (ash bytes (- vm:word-shift)))))
|
154 | 154 |
(when (> new-free-ptr (space-words-allocated space))
|
... | ... | @@ -462,9 +462,12 @@ |
462 | 462 |
(copy-to-system-area bytes (* vm:vector-data-offset
|
463 | 463 |
;; the word size of the native backend which
|
464 | 464 |
;; may be different from the target backend
|
465 |
- (if (= (c:backend-fasl-file-implementation
|
|
466 |
- c::*native-backend*)
|
|
467 |
- #.c:amd64-fasl-file-implementation)
|
|
465 |
+ (if (or (= (c:backend-fasl-file-implementation
|
|
466 |
+ c::*native-backend*)
|
|
467 |
+ #.c:amd64-fasl-file-implementation)
|
|
468 |
+ (= (c:backend-fasl-file-implementation
|
|
469 |
+ c::*native-backend*)
|
|
470 |
+ #.c:sparc64-fasl-file-implementation))
|
|
468 | 471 |
64
|
469 | 472 |
32))
|
470 | 473 |
(descriptor-sap des)
|
... | ... | @@ -27,8 +27,9 @@ |
27 | 27 |
;;; given a number of words.
|
28 | 28 |
;;;
|
29 | 29 |
(defmacro pad-data-block (words)
|
30 |
- `(logandc2 (+ (ash ,words word-shift) #+amd64 15 #-amd64 lowtag-mask)
|
|
31 |
- #+amd64 15 #-amd64 lowtag-mask))
|
|
30 |
+ (let ((dual-word-mask (1- (ash 2 word-shift))))
|
|
31 |
+ `(logandc2 (+ (ash ,words word-shift) ,dual-word-mask)
|
|
32 |
+ ,dual-word-mask)))
|
|
32 | 33 |
|
33 | 34 |
;;; DEFENUM -- Internal Interface.
|
34 | 35 |
;;;
|