Changeset 13779


Ignore:
Timestamp:
Jun 3, 2010, 2:29:14 PM (10 years ago)
Author:
gb
Message:

Mostly minor ARM conditionalization.

Location:
branches/arm
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/level-1/l1-clos-boot.lisp

    r13351 r13779  
    14681468                      (setf (%wrapper-cpl wrapper) cpl
    14691469                            (%class.own-wrapper class) wrapper
    1470                             (%wrapper-cpl-bits wrapper) #*1)
     1470                            (%wrapper-cpl-bits wrapper)
     1471                            (let* ((bv (make-array 1 :element-type 'bit)))
     1472                                     (setf (aref bv 0) 1)
     1473                                     bv))
    14711474                      (setf (%class.ctype class) (make-class-ctype class))
    14721475                      (setf (find-class 't) class)
     
    23292332          (map-subtag target::subtag-single-float short-float)
    23302333          (map-subtag target::subtag-dead-macptr ivector)
    2331           #-x86-target
    2332           (map-subtag target::subtag-code-vector code-vector)
     2334          #+ppc32-target
     2335          (map-subtag ppc32::subtag-code-vector code-vector)
     2336          #+ppc64-target
     2337          (map-subtag ppc64::subtag-code-vector code-vector)
     2338          #+arm-target
     2339          (map-subtag arm::subtag-code-vector code-vector)
    23332340          #+ppc32-target
    23342341          (map-subtag ppc32::subtag-creole-object creole-object)
     
    23942401              #'%class-of-instance)
    23952402        (setf (%svref v #+ppc-target target::subtag-symbol
     2403                      #+arm-target target::subtag-symbol
    23962404                      #+x8632-target target::subtag-symbol
    23972405                      #+x8664-target target::tag-symbol)
     
    24102418        (setf (%svref v
    24112419                      #+ppc-target target::subtag-function
     2420                      #+arm-target target::subtag-function
    24122421                      #+x8632-target target::subtag-function
    24132422                      #+x8664-target target::tag-function)
     
    24242433                              (ash (the fixnum (- subtype ppc32::min-cl-ivector-subtag))
    24252434                                   (- ppc32::ntagbits))
     2435                              #+arm-target
     2436                              (ash (the fixnum (- subtype arm::min-cl-ivector-subtag))
     2437                                   (- arm::ntagbits))
    24262438                              #+ppc64-target
    24272439                              (ash (the fixnum (logand subtype #x7f)) (- ppc64::nlowtagbits))
  • branches/arm/level-1/l1-clos.lisp

    r13067 r13779  
    375375                                (dpb 1 $lfbits-numreq
    376376                                     (ash -1 $lfbits-noname-bit)))
     377              #+arm-target
     378              (gvector :function
     379                       arm::*function-initial-entrypoint*
     380                       (%svref (if small
     381                                 #'%small-map-slot-id-lookup
     382                                 #'%large-map-slot-id-lookup) 1)
     383                       map
     384                       table
     385                       (dpb 1 $lfbits-numreq
     386                            (ash -1 $lfbits-noname-bit)))
    377387              #+x86-target
    378388              (%clone-x86-function (if small
     
    390400                                 #'%small-slot-id-value
    391401                                 #'%large-slot-id-value) 0)
     402                       map
     403                       table
     404                       class
     405                       #'%maybe-std-slot-value-using-class
     406                       #'%slot-id-ref-missing
     407                       (dpb 2 $lfbits-numreq
     408                            (ash -1 $lfbits-noname-bit)))
     409              #+arm-target
     410              (gvector :function
     411                       arm::*function-initial-entrypoint*
     412                       (%svref (if small
     413                                 #'%small-slot-id-value
     414                                 #'%large-slot-id-value) 1)
    392415                       map
    393416                       table
     
    414437                                 #'%small-set-slot-id-value
    415438                                 #'%large-set-slot-id-value) 0)
     439                       map
     440                       table
     441                       class
     442                       #'%maybe-std-setf-slot-value-using-class
     443                       #'%slot-id-set-missing
     444                       (dpb 3 $lfbits-numreq
     445                            (ash -1 $lfbits-noname-bit)))
     446              #+arm-target
     447              (gvector :function
     448                       arm::*function-initial-entrypoint*
     449                       (%svref (if small
     450                                 #'%small-set-slot-id-value
     451                                 #'%large-set-slot-id-value) 1)
    416452                       map
    417453                       table
  • branches/arm/level-1/l1-dcode.lisp

    r13067 r13779  
    401401#+ppc-target
    402402(defvar *fi-trampoline-code* (uvref #'funcallable-trampoline 0))
     403#+arm-target
     404(defvar *fi-trampoline-code* (uvref #'funcallable-trampoline 1))
    403405
    404406
    405407#+ppc-target
    406408(defvar *unset-fin-code* (uvref #'unset-fin-trampoline 0))
    407 
     409#+arm-target
     410(defvar *unset-fin-code* (uvref #'unset-fin-trampoline 1))
    408411
    409412
    410413#+ppc-target
    411414(defvar *gf-proto-code* (uvref *gf-proto* 0))
     415#+arm-target
     416(defvar *gf-proto-code* (uvref *gf-proto* 1))
    412417
    413418;;; The "early" version of %ALLOCATE-GF-INSTANCE.
     
    421426                 (dt (make-gf-dispatch-table))
    422427                 (slots (allocate-typed-vector :slot-vector (1+ len) (%slot-unbound-marker)))
    423                  (fn #+ppc-target
     428                 (fn #+(or ppc-target arm-target)
    424429                   (gvector :function
     430                            #+arm-target arm::*function-initial-entrypoint*
    425431                              *gf-proto-code*
    426432                              wrapper
     
    463469(defvar *cm-proto-code* (uvref *cm-proto* 0))
    464470
     471#+arm-target
     472(defvar *cm-proto-code* (uvref *cm-proto* 1))
     473
    465474(defun %cons-combined-method (gf thing dcode)
    466475  ;; set bits and name = gf
    467   #+ppc-target
     476  #+(or ppc-target arm-target)
    468477  (gvector :function
     478           #+arm-target arm::*function-initial-entrypoint*
    469479           *cm-proto-code*
    470480           thing
  • branches/arm/level-1/l1-readloop-lds.lisp

    r13368 r13779  
    680680                                      condition
    681681                                      (%current-frame-ptr)
    682                                       #+ppc-target *fake-stack-frames*
     682                                      #+(or ppc-target arm-target) *fake-stack-frames*
    683683                                      #+x86-target (%current-frame-ptr)
    684684                                      (db-link)
  • branches/arm/level-1/l1-typesys.lisp

    r13099 r13779  
    43154315           nil
    43164316           (dpb 1 $lfbits-numreq 0))
     4317  #+arm-target
     4318  (gvector :function
     4319           arm::*function-initial-entrypoint*
     4320           (uvref *simple-predicate-function-prototype* 1)
     4321           datum
     4322           function
     4323           nil
     4324           (dpb 1 $lfbits-numreq 0))
    43174325  #+x86-target
    43184326  (%clone-x86-function
  • branches/arm/lib/backtrace-lds.lisp

    r13067 r13779  
    2323
    2424(defparameter *saved-register-count*
    25   #+x8632-target 0
     25  #+(or x8632-target arm-target) 0
    2626  #+x8664-target 4
    2727  #+ppc-target 8)
    2828
    2929(defparameter *saved-register-names*
    30   #+x8632-target nil
     30  #+(or x8632-target arm-target) nil
    3131  #+x8664-target #(save3 save2 save1 save0)
    3232  #+ppc-target #(save7 save6 save5 save4 save3 save2 save1 save0))
  • branches/arm/lib/backtrace.lisp

    r13468 r13779  
    4141                        nil       ;; condition - not used
    4242                        frame-ptr ;; current
    43                         #+ppc-target *fake-stack-frames*
     43                        #+(or ppc-target arm-target) *fake-stack-frames*
    4444                        #+x86-target frame-ptr
    4545                        (%fixnum-ref tcr target::tcr.db-link)
  • branches/arm/lib/compile-ccl.lisp

    r13513 r13779  
    6666))
    6767
     68(defparameter *arm-compiler-modules*
     69  '(arm-arch
     70    armenv
     71    arm-asm
     72    arm-lap
     73))
     74
    6875(defparameter *ppc32-compiler-backend-modules*
    6976  '(ppc32-backend ppc32-vinsns))
     
    8592(defparameter *x86-compiler-backend-modules*
    8693  '(x862))
     94
     95(defparameter *arm-compiler-backend-modules*
     96  '(arm-backend arm-vinsns arm2))
    8797
    8898
     
    144154             (:win32 'ffi-win32)
    145155             (:solarisx8632 'ffi-solarisx8632)
    146              (:freebsdx8632 'ffi-freebsdx8632)))))
     156             (:freebsdx8632 'ffi-freebsdx8632)
     157             (:linuxarm 'ffi-linuxarm)))))
    147158
    148159
     
    162173    (:x8664 (append *x86-compiler-modules*
    163174                    *x8664-compiler-backend-modules*
    164                     *x86-compiler-backend-modules*))))
     175                    *x86-compiler-backend-modules*))
     176    (:arm (append *arm-compiler-modules*
     177                  *arm-compiler-backend-modules*))))
    165178
    166179(defparameter *other-lib-modules*
     
    176189          (case target
    177190            ((:ppc32 :ppc64) '(ppc-backtrace ppc-disassemble))
    178             ((:x8632 :x8664) '(x86-backtrace x86-disassemble x86-watch)))))
     191            ((:x8632 :x8664) '(x86-backtrace x86-disassemble x86-watch))
     192            (:arm '(arm-backtrace arm-disassemble)))))
    179193         
    180194
     
    226240            ((:linuxppc32 :darwinppc32 :linuxppc64 :darwinppc64)
    227241             '(ppc-error-signal ppc-trap-support
    228                ppc-threads-utils ppc-callback-support))
     242               ppc-threads-utils ppc-callback-support))           
    229243            ((:linuxx8664 :freebsdx8664 :darwinx8664 :solarisx8664
    230244                          :darwinx8632 :win64  :linuxx8632 :win32 :solarisx8632
    231245                          :freebsdx8632)
    232246             '(x86-error-signal x86-trap-support
    233                x86-threads-utils x86-callback-support)))))
     247               x86-threads-utils x86-callback-support))
     248            (:linuxarm
     249             '(arm-error-signal arm-trap-support
     250               arm-threads-utils arm-callback-support)))))
    234251
    235252
  • branches/arm/lib/edit-callers.lisp

    r13067 r13779  
    189189               (when (logbitp $lfbits-info-bit bits)
    190190                 (decf end))
    191                (loop for i from #+ppc-target 1 #+x86-target (%function-code-words fun) below end
     191               (loop for i from #+ppc-target 1 #+x86-target (%function-code-words fun) #+arm-target 2 below end
    192192                     as im = (%svref lfv i)
    193193                     when (or (eq function im)
     
    226226(defun %map-lfimms (function-object f)
    227227  (let* ((lfv (function-to-function-vector function-object))
    228          (n (- (uvsize lfv) 2)))
     228         (n (- (uvsize lfv) #+arm-target 3 #-arm-target 2)))
    229229    (declare (fixnum n))
    230230    #+ppc-target
     
    236236      (declare (fixnum i))
    237237      (funcall f (%svref lfv (%i+ 1 i))))
     238    #+arm-target
     239    (do* ((i 2 (1+ i)))
     240         ((= i n))
     241      (declare (fixnum i))
     242      (funcall f (%svref lfv i)))
    238243    ))
    239244         
  • branches/arm/lib/misc.lisp

    r13581 r13779  
    778778  (#+ppc-target ppc-xdisassemble
    779779   #+x86-target x86-xdisassemble
     780   #+arm-target arm-xdisassemble
    780781   (require-type (function-for-disassembly thing) 'compiled-function)))
    781782
  • branches/arm/lib/systems.lisp

    r13739 r13779  
    4747    (x86-trap-support "ccl:l1f;x86-trap-support" ("ccl:l1;x86-trap-support.lisp"))
    4848
     49    (arm-trap-support "ccl:l1f;arm-trap-support" ("ccl:l1;arm-trap-support.lisp"))
    4950    (l1-format        "ccl:l1f;l1-format"        ("ccl:l1;l1-format.lisp"))
    5051    (l1-readloop      "ccl:l1f;l1-readloop"      ("ccl:l1;l1-readloop.lisp"))
     
    5354    (l1-error-system  "ccl:l1f;l1-error-system"  ("ccl:l1;l1-error-system.lisp"))
    5455    (ppc-error-signal "ccl:l1f;ppc-error-signal" ("ccl:l1;ppc-error-signal.lisp"))
    55     (x86-error-signal "ccl:l1f;x86-error-signal" ("ccl:l1;x86-error-signal.lisp"))   
     56    (x86-error-signal "ccl:l1f;x86-error-signal" ("ccl:l1;x86-error-signal.lisp"))
     57    (arm-error-signal "ccl:l1f;arm-error-signal" ("ccl:l1;arm-error-signal.lisp"))
    5658    (l1-error-signal  "ccl:l1f;l1-error-signal"  ("ccl:l1;l1-error-signal.lisp"))
    5759    (l1-aprims        "ccl:l1f;l1-aprims"        ("ccl:l1;l1-aprims.lisp"))
    5860    (l1-callbacks     "ccl:l1f;l1-callbacks"    ("ccl:l1;l1-callbacks.lisp"))
    5961    (ppc-callback-support "ccl:l1f;ppc-callback-support" ("ccl:l1;ppc-callback-support.lisp"))
    60     (x86-callback-support "ccl:l1f;x86-callback-support" ("ccl:l1;x86-callback-support.lisp"))   
     62    (x86-callback-support "ccl:l1f;x86-callback-support" ("ccl:l1;x86-callback-support.lisp"))
     63    (arm-callback-support "ccl:l1f;arm-callback-support" ("ccl:l1;arm-callback-support.lisp"))
    6164    (l1-sysio         "ccl:l1f;l1-sysio"         ("ccl:l1;l1-sysio.lisp"))
    6265    (l1-symhash       "ccl:l1f;l1-symhash"       ("ccl:l1;l1-symhash.lisp"))
     
    6669    (ppc-threads-utils "ccl:l1f;ppc-threads-utils" ("ccl:l1;ppc-threads-utils.lisp"))
    6770    (x86-threads-utils "ccl:l1f;x86-threads-utils" ("ccl:l1;x86-threads-utils.lisp"))
     71    (arm-threads-utils "ccl:l1f;arm-threads-utils" ("ccl:l1;arm-threads-utils.lisp"))
    6872    (l1-application   "ccl:l1f;l1-application"   ("ccl:l1;l1-application.lisp"))
    6973    (l1-processes     "ccl:l1f;l1-processes"     ("ccl:l1;l1-processes.lisp"))
     
    157161    (ffi-solarisx8632 "ccl:bin;ffi-solarisx8632" ("ccl:lib;ffi-solarisx8632.lisp"))
    158162    (ffi-freebsdx8632 "ccl:bin;ffi-freebsdx8632" ("ccl:lib;ffi-freebsdx8632.lisp"))
    159    
     163    (ffi-linuxarm     "ccl:bin;ffi-linuxarm"     ("ccl:lib;ffi-linuxarm.lisp"))
    160164    (db-io            "ccl:bin;db-io"            ("ccl:lib;db-io.lisp"))
    161165    (hash             "ccl:bin;hash"             ("ccl:lib;hash.lisp"))
     
    170174    (ppc-backtrace    "ccl:bin;ppc-backtrace"    ("ccl:lib;ppc-backtrace.lisp"))
    171175    (x86-backtrace    "ccl:bin;x86-backtrace"    ("ccl:lib;x86-backtrace.lisp"))
     176    (arm-backtrace    "ccl:bin;arm-backtrace"    ("ccl:lib;arm-backtrace.lisp"))
    172177    (x86-watch        "ccl:bin;x86-watch"        ("ccl:lib;x86-watch.lisp"))
    173178    (backtrace-lds    "ccl:bin;backtrace-lds"    ("ccl:lib;backtrace-lds.lisp"))
Note: See TracChangeset for help on using the changeset viewer.