Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits:
-
1d74bf8d
by Raymond Toy at 2017-01-21T08:36:22-08:00
-
58c09b81
by Raymond Toy at 2017-01-21T08:37:02-08:00
6 changed files:
- src/compiler/sparc64/call.lisp
- src/compiler/sparc64/cell.lisp
- src/compiler/sparc64/insts.lisp
- src/compiler/sparc64/memory.lisp
- src/compiler/sparc64/move.lisp
- src/compiler/sparc64/print.lisp
Changes:
| ... | ... | @@ -171,6 +171,7 @@ |
| 171 | 171 |
;; Make sure the function is aligned, and drop a label pointing to this
|
| 172 | 172 |
;; function header.
|
| 173 | 173 |
(align vm:lowtag-bits)
|
| 174 |
+ (emit-not-implemented)
|
|
| 174 | 175 |
(trace-table-entry trace-table-function-prologue)
|
| 175 | 176 |
(emit-label start-lab)
|
| 176 | 177 |
;; Allocate function header.
|
| ... | ... | @@ -262,6 +263,7 @@ |
| 262 | 263 |
(:info nargs)
|
| 263 | 264 |
(:results (res :scs (any-reg)))
|
| 264 | 265 |
(:generator 2
|
| 266 |
+ (emit-not-implemented)
|
|
| 265 | 267 |
(when (> nargs register-arg-count)
|
| 266 | 268 |
(move res csp-tn)
|
| 267 | 269 |
(inst add csp-tn csp-tn (* nargs vm:word-bytes)))))
|
| ... | ... | @@ -774,6 +776,7 @@ default-value-8 |
| 774 | 776 |
15
|
| 775 | 777 |
(if (eq return :unknown) 25 0))
|
| 776 | 778 |
(trace-table-entry trace-table-call-site)
|
| 779 |
+ (emit-not-implemented)
|
|
| 777 | 780 |
(let* ((cur-nfp (current-nfp-tn vop))
|
| 778 | 781 |
,@(unless (eq return :tail)
|
| 779 | 782 |
'((lra-label (gen-label))))
|
| ... | ... | @@ -1271,6 +1274,7 @@ default-value-8 |
| 1271 | 1274 |
(:vop-var vop)
|
| 1272 | 1275 |
(:save-p :compute-only)
|
| 1273 | 1276 |
(:generator 3
|
| 1277 |
+ (emit-not-implemented)
|
|
| 1274 | 1278 |
(let ((err-lab
|
| 1275 | 1279 |
(generate-error-code vop invalid-argument-count-error nargs)))
|
| 1276 | 1280 |
(inst cmp nargs (fixnumize count))
|
| ... | ... | @@ -83,6 +83,7 @@ |
| 83 | 83 |
(define-vop (boundp boundp-frob)
|
| 84 | 84 |
(:translate boundp)
|
| 85 | 85 |
(:generator 9
|
| 86 |
+ (emit-not-implemented)
|
|
| 86 | 87 |
(loadw value object vm:symbol-value-slot vm:other-pointer-type)
|
| 87 | 88 |
(inst cmp value vm:unbound-marker-type)
|
| 88 | 89 |
(inst b (if not-p :eq :ne) target)
|
| ... | ... | @@ -2384,7 +2384,12 @@ about function addresses and register values.") |
| 2384 | 2384 |
(- other-pointer-type
|
| 2385 | 2385 |
function-pointer-type
|
| 2386 | 2386 |
(label-position label posn delta-if-after)
|
| 2387 |
- (component-header-length))))))
|
|
| 2387 |
+ ;; FIXME: component-header-length (and
|
|
| 2388 |
+ ;; maybe label-position?) return thw
|
|
| 2389 |
+ ;; wrong number of bytes. We need to
|
|
| 2390 |
+ ;; shift left by 1 because our words are
|
|
| 2391 |
+ ;; 64 bits long and not 32.
|
|
| 2392 |
+ (ash (component-header-length) 1))))))
|
|
| 2388 | 2393 |
|
| 2389 | 2394 |
;; code = lra - other-pointer-tag - header - label-offset + other-pointer-tag
|
| 2390 | 2395 |
(define-instruction compute-code-from-lra (segment dst src label temp)
|
| ... | ... | @@ -36,6 +36,7 @@ |
| 36 | 36 |
(:variant-vars offset lowtag)
|
| 37 | 37 |
(:policy :fast-safe)
|
| 38 | 38 |
(:generator 4
|
| 39 |
+ (emit-not-implemented)
|
|
| 39 | 40 |
(storew value object offset lowtag)))
|
| 40 | 41 |
|
| 41 | 42 |
;;; Slot-Ref and Slot-Set are used to define VOPs like Closure-Ref, where the
|
| ... | ... | @@ -25,6 +25,7 @@ |
| 25 | 25 |
((null immediate zero)
|
| 26 | 26 |
(any-reg descriptor-reg))
|
| 27 | 27 |
(let ((val (tn-value x)))
|
| 28 |
+ (not-implemented "LOAD-IMMEDIATE")
|
|
| 28 | 29 |
(etypecase val
|
| 29 | 30 |
(integer
|
| 30 | 31 |
(inst li y (fixnumize val)))
|
| ... | ... | @@ -121,6 +122,7 @@ |
| 121 | 122 |
(:temporary (:scs (non-descriptor-reg)) temp)
|
| 122 | 123 |
(:results (y))
|
| 123 | 124 |
(:generator 0
|
| 125 |
+ (emit-not-implemented)
|
|
| 124 | 126 |
(sc-case y
|
| 125 | 127 |
((any-reg descriptor-reg)
|
| 126 | 128 |
(move y x))
|
| ... | ... | @@ -30,6 +30,7 @@ |
| 30 | 30 |
(:temporary (:sc control-stack :offset nfp-save-offset) nfp-save)
|
| 31 | 31 |
(:vop-var vop)
|
| 32 | 32 |
(:generator 100
|
| 33 |
+ (emit-not-implemented)
|
|
| 33 | 34 |
(let ((cur-nfp (current-nfp-tn vop)))
|
| 34 | 35 |
(when cur-nfp
|
| 35 | 36 |
(store-stack-tn nfp-save cur-nfp))
|