Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl

Commits:

6 changed files:

Changes:

  • src/compiler/sparc64/call.lisp
    ... ... @@ -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))
    

  • src/compiler/sparc64/cell.lisp
    ... ... @@ -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)
    

  • src/compiler/sparc64/insts.lisp
    ... ... @@ -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)
    

  • src/compiler/sparc64/memory.lisp
    ... ... @@ -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
    

  • src/compiler/sparc64/move.lisp
    ... ... @@ -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))
    

  • src/compiler/sparc64/print.lisp
    ... ... @@ -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))