Changeset 14119 for trunk/source/level-1


Ignore:
Timestamp:
Aug 5, 2010, 7:33:28 AM (9 years ago)
Author:
gb
Message:

Changes from ARM branch. Need testing ...

Location:
trunk/source/level-1
Files:
4 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-aprims.lisp

    r13327 r14119  
    697697               (%svref *immheader-2-array-element-types* class))
    698698              (t 'bogus)))))
     699  )
     700
     701#+arm-target
     702(progn
     703  (defparameter array-element-subtypes
     704    #(single-float
     705      (unsigned-byte 32)
     706      (signed-byte 32)
     707      fixnum
     708      base-char                         ;ucs4
     709      (unsigned-byte 8)
     710      (signed-byte 8)
     711      base-char
     712      (unsigned-byte 16)
     713      (signed-byte 16)
     714      double-float
     715      bit))
     716 
     717  ;; given uvector subtype - what is the corresponding element-type
     718  (defun element-subtype-type (subtype)
     719    (declare (fixnum subtype))
     720    (if  (= subtype arm::subtag-simple-vector) t
     721        (svref array-element-subtypes
     722               (ash (- subtype arm::min-cl-ivector-subtag) (- arm::ntagbits)))))
    699723  )
    700724
  • trunk/source/level-1/l1-boot-1.lisp

    r13067 r14119  
    4747  `((,platform-cpu-ppc . :ppc)
    4848    (,platform-cpu-sparc . :sparc)
    49     (,platform-cpu-x86 . :x86)))
     49    (,platform-cpu-x86 . :x86)
     50    (,platform-cpu-arm . :arm)))
    5051
    5152(defun host-platform ()
  • trunk/source/level-1/l1-boot-2.lisp

    r13563 r14119  
    4848    #+x86-target
    4949    (l1-load "x86-error-signal")
     50    #+arm-target
     51    (l1-load "arm-error-signal")
    5052    (l1-load "l1-error-signal")
    5153    (l1-load "l1-sockets")
     
    230232      #+x86-target
    231233      (bin-load-provide "X8664-ARCH" "x8664-arch")
     234      #+arm-target
     235      (bin-load-provide "ARM-ARCH" "arm-arch")
    232236      (bin-load-provide "VREG" "vreg")
    233237     
    234238      #+ppc-target
    235239      (bin-load-provide "PPC-ASM" "ppc-asm")
     240      #+arm-target
     241      (bin-load-provide "ARM-ASM" "arm-asm")
    236242     
    237243      (bin-load-provide "VINSN" "vinsn")
     
    240246      #+ppc-target
    241247      (bin-load-provide "PPC-LAP" "ppc-lap")
     248      #+arm-target
     249      (bin-load-provide "ARM-LAP" "arm-lap")
    242250      (bin-load-provide "BACKEND" "backend")
    243251      (bin-load-provide "NX2" "nx2")
     
    248256      #+x86-target
    249257      (provide "X862")
     258
     259      #+arm-target
     260      (provide "ARM2")
    250261     
    251262      (l1-load-provide "NX" "nx")
     
    256267      #+x86-target
    257268      (bin-load "x862")
     269
     270      #+arm-target
     271      (bin-load "arm2")
    258272     
    259273      (bin-load-provide "LEVEL-2" "level-2")
     
    286300        (bin-load "x86-watch"))
    287301
     302      #+arm-target
     303      (progn
     304        (bin-load-provide "ARM-DISASSEMBLE" "arm-disassemble")
     305        (bin-load-provide "ARM-LAPMACROS" "arm-lapmacros"))
    288306
    289307      (bin-load-provide "FOREIGN-TYPES" "foreign-types")
     
    318336      #+freebsdx8632-target
    319337      (bin-load-provide "FFI-FREEBSDX8632" "ffi-freebsdx8632")
     338      #+(and arm-target linux-target)
     339      (bin-load-provide "FFI-LINUXARM" "ffi-linuxarm")
    320340
    321341
  • trunk/source/level-1/l1-clos-boot.lisp

    r13980 r14119  
    14521452                      (setf (%wrapper-cpl wrapper) cpl
    14531453                            (%class.own-wrapper class) wrapper
    1454                             (%wrapper-cpl-bits wrapper) #*1)
     1454                            (%wrapper-cpl-bits wrapper)
     1455                            (let* ((bv (make-array 1 :element-type 'bit)))
     1456                                     (setf (aref bv 0) 1)
     1457                                     bv))
    14551458                      (setf (%class.ctype class) (make-class-ctype class))
    14561459                      (setf (find-class 't) class)
     
    20932096              (find-class 'unsigned-doubleword-vector)
    20942097              (find-class 'double-float-vector))))
     2098
     2099  #+arm-target
     2100  (defparameter *ivector-vector-classes*
     2101    (vector (find-class 'short-float-vector)
     2102            (find-class 'unsigned-long-vector)
     2103            (find-class 'long-vector)
     2104            (find-class 'fixnum-vector)
     2105            (find-class 'base-string)
     2106            (find-class 'unsigned-byte-vector)
     2107            (find-class 'byte-vector)
     2108            *t-class*                   ; old base-string
     2109            (find-class 'unsigned-word-vector)
     2110            (find-class 'word-vector)
     2111            (find-class 'double-float-vector)
     2112            (find-class 'bit-vector)))
     2113
    20952114
    20962115
     
    23062325                (%svref v (+ slice x8664::fulltag-tra-1)) *tagged-return-address-class*
    23072326                (%svref v (+ slice x8664::fulltag-nil)) *null-class*))
     2327        #+arm-target
     2328        (do* ((slice 0 (+ 8 slice)))
     2329             ((= slice 256))
     2330          (declare (type (unsigned-byte 8) slice))
     2331          (setf (%svref v (+ slice arm::fulltag-even-fixnum)) *fixnum-class*
     2332                (%svref v (+ slice arm::fulltag-odd-fixnum))  *fixnum-class*
     2333                (%svref v (+ slice arm::fulltag-cons)) *cons-class*
     2334                (%svref v (+ slice arm::fulltag-nil)) *null-class*
     2335                (%svref v (+ slice arm::fulltag-imm)) *immediate-class*))
     2336
    23082337        (macrolet ((map-subtag (subtag class-name)
    23092338                     `(setf (%svref v ,subtag) (find-class ',class-name))))
     
    23132342          (map-subtag target::subtag-single-float short-float)
    23142343          (map-subtag target::subtag-dead-macptr ivector)
    2315           #-x86-target
    2316           (map-subtag target::subtag-code-vector code-vector)
     2344          #+ppc32-target
     2345          (map-subtag ppc32::subtag-code-vector code-vector)
     2346          #+ppc64-target
     2347          (map-subtag ppc64::subtag-code-vector code-vector)
     2348          #+arm-target
     2349          (map-subtag arm::subtag-code-vector code-vector)
    23172350          #+ppc32-target
    23182351          (map-subtag ppc32::subtag-creole-object creole-object)
     
    23782411              #'%class-of-instance)
    23792412        (setf (%svref v #+ppc-target target::subtag-symbol
     2413                      #+arm-target target::subtag-symbol
    23802414                      #+x8632-target target::subtag-symbol
    23812415                      #+x8664-target target::tag-symbol)
     
    23942428        (setf (%svref v
    23952429                      #+ppc-target target::subtag-function
     2430                      #+arm-target target::subtag-function
    23962431                      #+x8632-target target::subtag-function
    23972432                      #+x8664-target target::tag-function)
     
    24082443                              (ash (the fixnum (- subtype ppc32::min-cl-ivector-subtag))
    24092444                                   (- ppc32::ntagbits))
     2445                              #+arm-target
     2446                              (ash (the fixnum (- subtype arm::min-cl-ivector-subtag))
     2447                                   (- arm::ntagbits))
    24102448                              #+ppc64-target
    24112449                              (ash (the fixnum (logand subtype #x7f)) (- ppc64::nlowtagbits))
     
    25762614   'slot-id-value
    25772615   nil                          ;method-function name
    2578    (dpb 1 $lfbits-numreq (ash 1 $lfbits-method-bit))))
     2616   (dpb 1 $lfbits-numreq (ash 1 $lfbits-method-bit)))
     2617  #+arm-target
     2618  (gvector :function
     2619           arm::*function-initial-entrypoint*
     2620           (uvref *reader-method-function-proto* 1)
     2621           (ensure-slot-id (%slot-definition-name dslotd))
     2622           'slot-id-value
     2623           nil                          ;method-function name
     2624           (dpb 1 $lfbits-numreq (ash 1 $lfbits-method-bit))))
    25792625
    25802626(defmethod create-writer-method-function ((class slots-class)
     
    25952641     nil
    25962642     (dpb 2 $lfbits-numreq (ash 1 $lfbits-method-bit)))
     2643    #+arm-target
     2644    (gvector :function
     2645             arm::*function-initial-entrypoint*
     2646             (uvref *writer-method-function-proto* 1)
     2647             (ensure-slot-id (%slot-definition-name dslotd))
     2648             'set-slot-id-value
     2649             nil
     2650             (dpb 2 $lfbits-numreq (ash 1 $lfbits-method-bit)))
    25972651  )
    25982652
  • trunk/source/level-1/l1-clos.lisp

    r13067 r14119  
    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
     
    16421678                                0
    16431679                                (logior (ash 1 $lfbits-gfn-bit)
    1644                                         (ash 1 $lfbits-aok-bit)))))
    1645     (setf
    1646           (slot-vector.instance slots) fn)
     1680                                        (ash 1 $lfbits-aok-bit)))
     1681           #+arm-target
     1682           (gvector :function
     1683                    arm::*function-initial-entrypoint*
     1684                    *unset-fin-code*
     1685                    wrapper
     1686                    slots
     1687                    dt
     1688                    #'false
     1689                    0
     1690                    (logior (ash 1 $lfbits-gfn-bit)
     1691                            (ash 1 $lfbits-aok-bit)))))
     1692    (setf (slot-vector.instance slots) fn)
    16471693    (when dt
    16481694      (setf (%gf-dispatch-table-gf dt) fn))
  • trunk/source/level-1/l1-dcode.lisp

    r13980 r14119  
    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
  • trunk/source/level-1/l1-error-signal.lisp

    r13067 r14119  
    103103                                    :expected-type (array-element-type array)
    104104                                    :array array)))
    105                                   
     105                 (division-by-zero (make-condition condition-name))
    106106                 (t (make-condition condition-name
    107107                                    :format-control format-string
  • trunk/source/level-1/l1-io.lisp

    r13647 r14119  
    15971597(defun %macptr-allocation-string (macptr)
    15981598  (if (or (on-any-csp-stack macptr)
     1599          #-arm-target
    15991600          (on-any-tsp-stack macptr))
    16001601    "[stack-allocated]"
  • trunk/source/level-1/l1-lisp-threads.lisp

    r13745 r14119  
    196196  (let* ((cs-area (%fixnum-ref tcr target::tcr.cs-area))
    197197         (vs-area (%fixnum-ref tcr target::tcr.vs-area))
     198         #-arm-target
    198199         (ts-area (%fixnum-ref tcr target::tcr.ts-area)))
    199200    (when (or (zerop cs-area)
    200201              (zerop vs-area)
     202              #-arm-target
    201203              (zerop ts-area))
    202204      (error "Can't allocate new thread"))
     
    207209          (%stack-area-usable-size vs-area)
    208210          (lisp-thread.ts-size thread)
     211          #+arm-target 0
     212          #-arm-target
    209213          (%stack-area-usable-size ts-area)
    210214          (lisp-thread.startup-function thread)
     
    559563                     (if xcf
    560564                       (%%frame-backlink xcf)))
     565                   (%current-frame-ptr))
     566  #+arm-target (or (current-fake-stack-frame)
    561567                   (%current-frame-ptr)))
    562568
     
    676682  (%ptr-in-area-p idx (%fixnum-ref tcr target::tcr.vs-area)))
    677683
     684#-arm-target
    678685(defun %on-tsp-stack (tcr object)
    679686  (%ptr-in-area-p object (%fixnum-ref tcr target::tcr.ts-area)))
     
    699706      (return t))))
    700707
    701 
     708#-arm-target
    702709(defun on-any-tsp-stack (object)
    703710  (or (%on-tsp-stack (%current-tcr) object)
     
    716723  (and (consp x)
    717724       (not (null (or (on-any-vstack x)
    718                       (on-any-tsp-stack x))))))
     725                      #-arm-target
     726                      (on-any-tsp-stack x)
     727                      #+arm-target
     728                      (on-any-csp-stack x))))))
    719729
    720730
  • trunk/source/level-1/l1-numbers.lisp

    r13373 r14119  
    513513  (declare (double-float b e result))
    514514  (with-stack-double-floats ((temp))
     515    #+arm-target (%set-fpscr-status 0)
    515516    (%setf-double-float temp (#_pow b e))
    516517    (%df-check-exception-2 'expt b e (%ffi-exception-status))
     
    521522  (declare (single-float b e result))
    522523  (target::with-stack-short-floats ((temp))
     524    #+arm-target (%set-fpscr-status 0)
    523525    (%setf-short-float temp (#_powf b e))
    524526    (%sf-check-exception-2 'expt b e (%ffi-exception-status))
     
    543545  (declare (double-float n result))
    544546  (with-stack-double-floats ((temp))
     547    #+arm-target (%set-fpscr-status 0)
    545548    (%setf-double-float TEMP (#_sin n))
    546549    (%df-check-exception-1 'sin n (%ffi-exception-status))
     
    551554  (declare (single-float n result))
    552555  (target::with-stack-short-floats ((temp))
     556    #+arm-target (%set-fpscr-status 0)
    553557    (%setf-short-float TEMP (#_sinf n))
    554558    (%sf-check-exception-1 'sin n (%ffi-exception-status))
     
    565569  (declare (double-float n result))
    566570  (with-stack-double-floats ((temp))
     571    #+arm-target (%set-fpscr-status 0)
    567572    (%setf-double-float TEMP (#_cos n))
    568573    (%df-check-exception-1 'cos n (%ffi-exception-status))
     
    573578  (declare (single-float n result))
    574579  (target::with-stack-short-floats ((temp))
     580    #+arm-target (%set-fpscr-status 0)
    575581    (%setf-short-float TEMP (#_cosf n))
    576582    (%sf-check-exception-1 'cos n (%ffi-exception-status))
     
    587593  (declare (double-float n result))
    588594  (with-stack-double-floats ((temp))
     595    #+arm-target (%set-fpscr-status 0)
    589596    (%setf-double-float TEMP (#_acos n))
    590597    (%df-check-exception-1 'acos n (%ffi-exception-status))
     
    595602  (declare (single-float n result))
    596603  (target::with-stack-short-floats ((temp))
     604    #+arm-target (%set-fpscr-status 0)
    597605    (%setf-short-float TEMP (#_acosf n))
    598606    (%sf-check-exception-1 'acos n (%ffi-exception-status))
     
    609617  (declare (double-float n result))
    610618  (with-stack-double-floats ((temp))
     619    #+arm-target (%set-fpscr-status 0)
    611620    (%setf-double-float TEMP (#_asin n))
    612621    (%df-check-exception-1 'asin n (%ffi-exception-status))
     
    617626  (declare (single-float n result))
    618627  (target::with-stack-short-floats ((temp))
     628    #+arm-target (%set-fpscr-status 0)
    619629    (%setf-short-float TEMP (#_asinf n))
    620630    (%sf-check-exception-1 'asin n (%ffi-exception-status))
     
    631641  (declare (double-float n result))
    632642  (with-stack-double-floats ((temp))
     643    #+arm-target (%set-fpscr-status 0)
    633644    (%setf-double-float TEMP (#_cosh n))
    634645    (%df-check-exception-1 'cosh n (%ffi-exception-status))
     
    639650  (declare (single-float n result))
    640651  (target::with-stack-short-floats ((temp))
     652    #+arm-target (%set-fpscr-status 0)
    641653    (%setf-short-float TEMP (external-call "coshf" :single-float n :single-float))
    642654    (%sf-check-exception-1 'cosh n (%ffi-exception-status))
     
    653665  (declare (double-float n result))
    654666  (with-stack-double-floats ((temp))
     667    #+arm-target (%set-fpscr-status 0)
    655668    (%setf-double-float TEMP (#_log n))
    656669    (%df-check-exception-1 'log n (%ffi-exception-status))
     
    661674  (declare (single-float n result))
    662675  (target::with-stack-short-floats ((temp))
     676    #+arm-target (%set-fpscr-status 0)
    663677    (%setf-short-float TEMP (#_logf n))
    664678    (%sf-check-exception-1 'log n (%ffi-exception-status))
     
    674688  (declare (double-float n result))
    675689  (with-stack-double-floats ((temp))
     690    #+arm-target (%set-fpscr-status 0)
    676691    (%setf-double-float TEMP (#_tan n))
    677692    (%df-check-exception-1 'tan n (%ffi-exception-status))
     
    682697  (declare (single-float n result))
    683698  (target::with-stack-short-floats ((temp))
     699    #+arm-target (%set-fpscr-status 0)
    684700    (%setf-short-float TEMP (#_tanf n))
    685701    (%sf-check-exception-1 'tan n (%ffi-exception-status))
     
    696712  (declare (double-float n result))
    697713  (with-stack-double-floats ((temp))
     714    #+arm-target (%set-fpscr-status 0)
    698715    (%setf-double-float TEMP (#_atan n))
    699716    (%df-check-exception-1 'atan n (%ffi-exception-status))
     
    705722  (declare (single-float n result))
    706723  (target::with-stack-short-floats ((temp))
     724    #+arm-target (%set-fpscr-status 0)
    707725    (%setf-short-float TEMP (#_atanf n))
    708726    (%sf-check-exception-1 'atan n (%ffi-exception-status))
     
    719737  (declare (double-float x y result))
    720738  (with-stack-double-floats ((temp))
     739    #+arm-target (%set-fpscr-status 0)
    721740    (%setf-double-float TEMP (#_atan2 x y))
    722741    (%df-check-exception-2 'atan2 x y (%ffi-exception-status))
     
    727746  (declare (single-float x y result))
    728747  (target::with-stack-short-floats ((temp))
     748    #+arm-target (%set-fpscr-status 0)
    729749    (%setf-short-float TEMP (#_atan2f x y))
    730750    (%sf-check-exception-2 'atan2 x y (%ffi-exception-status))
     
    741761  (declare (double-float n result))
    742762  (with-stack-double-floats ((temp))
     763    #+arm-target (%set-fpscr-status 0)
    743764    (%setf-double-float TEMP (#_exp n))
    744765    (%df-check-exception-1 'exp n (%ffi-exception-status))
     
    749770  (declare (single-float n result))
    750771  (target::with-stack-short-floats ((temp))
     772    #+arm-target (%set-fpscr-status 0)
    751773    (%setf-short-float TEMP (#_expf n))
    752774    (%sf-check-exception-1 'exp n (%ffi-exception-status))
     
    771793  (declare (double-float n result))
    772794  (with-stack-double-floats ((temp))
     795    #+arm-target (%set-fpscr-status 0)
    773796    (%setf-double-float TEMP (#_sinh n))
    774797    (%df-check-exception-1 'sinh n (%ffi-exception-status))
     
    779802  (declare (single-float n result))
    780803  (target::with-stack-short-floats ((temp))
     804    #+arm-target (%set-fpscr-status 0)
    781805    (%setf-short-float TEMP (external-call "sinhf" :single-float n :single-float))
    782806    (%sf-check-exception-1 'sinh n (%ffi-exception-status))
     
    793817  (declare (double-float n result))
    794818  (with-stack-double-floats ((temp))
     819    #+arm-target (%set-fpscr-status 0)
    795820    (%setf-double-float TEMP (#_tanh n))
    796821    (%df-check-exception-1 'tanh n (%ffi-exception-status))
     
    801826  (declare (single-float n result))
    802827  (target::with-stack-short-floats ((temp))
     828    #+arm-target (%set-fpscr-status 0)
    803829    (%setf-short-float TEMP (external-call "tanhf" :single-float n :single-float))
    804830    (%sf-check-exception-1 'tanh n (%ffi-exception-status))
     
    825851  (declare (single-float n result))
    826852  (target::with-stack-short-floats ((temp))
     853    #+arm-target (%set-fpscr-status 0)
    827854    (%setf-short-float TEMP (external-call "asinhf" :float n :float))
    828855    (%sf-check-exception-1 'asinh n (%ffi-exception-status))
     
    841868  (declare (double-float n result))
    842869  (with-stack-double-floats ((temp))
     870    #+arm-target (%set-fpscr-status 0)
    843871    (%setf-double-float TEMP (#_asinh n))
    844872    (%df-check-exception-1 'asinh n (%ffi-exception-status))
     
    850878  (declare (single-float n result))
    851879  (target::with-stack-short-floats ((temp))
     880    #+arm-target (%set-fpscr-status 0)
    852881    (%setf-short-float TEMP (#_asinhf n))
    853882    (%sf-check-exception-1 'asinh n (%ffi-exception-status))
     
    875904  (declare (single-float n result))
    876905  (target::with-stack-short-floats ((temp))
     906    #+arm-target (%set-fpscr-status 0)
    877907    (%setf-short-float TEMP (external-call "acoshf" :float n :float))
    878908    (%sf-check-exception-1 'acosh n (%ffi-exception-status))
     
    893923  (declare (double-float n result))
    894924  (with-stack-double-floats ((temp))
     925    #+arm-target (%set-fpscr-status 0)
    895926    (%setf-double-float TEMP (#_acosh n))
    896927    (%df-check-exception-1 'acosh n (%ffi-exception-status))
     
    901932  (declare (single-float n result))
    902933  (target::with-stack-short-floats ((temp))
     934    #+arm-target (%set-fpscr-status 0)
    903935    (%setf-short-float TEMP (#_acoshf n))
    904936    (%sf-check-exception-1 'acosh n (%ffi-exception-status))
     
    926958  (declare (single-float n result))
    927959  (target::with-stack-short-floats ((temp))
     960    #+arm-target (%set-fpscr-status 0)
    928961    (%setf-short-float TEMP (external-call "atanhf" :float n :float))
    929962    (%sf-check-exception-1 'atanh n (%ffi-exception-status))
     
    944977  (declare (double-float n result))
    945978  (with-stack-double-floats ((temp))
     979    #+arm-target (%set-fpscr-status 0)
    946980    (%setf-double-float TEMP (#_atanh n))
    947981    (%df-check-exception-1 'atanh n (%ffi-exception-status))
     
    952986  (declare (single-float n result))
    953987  (target::with-stack-short-floats ((temp))
     988    #+arm-target (%set-fpscr-status 0)
    954989    (%setf-short-float TEMP (#_atanhf n))
    955990    (%sf-check-exception-1 'atanh n (%ffi-exception-status))
  • trunk/source/level-1/l1-readloop-lds.lisp

    r13744 r14119  
    684684                                      #+ppc-target *fake-stack-frames*
    685685                                      #+x86-target (%current-frame-ptr)
     686                                      #+arm-target (or (current-fake-stack-frame) (%current-frame-ptr))
    686687                                      (db-link)
    687688                                      (1+ *break-level*)))
  • trunk/source/level-1/l1-sockets.lisp

    r13990 r14119  
    950950            #+x8664-target (and (>= subtype x8664::min-8-bit-ivector-subtag)
    951951                                (<= subtype x8664::max-8-bit-ivector-subtag))
    952       (report-bad-arg buf '(or (array (unsigned-byte 8))
     952            #+arm-target (and (<= arm::min-8-bit-ivector-subtag subtype)
     953                                (<= subtype arm::max-8-bit-ivector-subtag))
     954      (report-bad-arg buf `(or (array character)
     955                               (array (unsigned-byte 8))
    953956                               (array (signed-byte 8))))))
    954957  (values buf offset))
  • trunk/source/level-1/l1-streams.lisp

    r13901 r14119  
    243243                         (ash 1 x8664::fulltag-immheader-1)
    244244                         (ash 1 x8664::fulltag-immheader-2)))
     245        #+arm-target
     246        (= (logand subtag arm::fulltagmask)
     247           arm::fulltag-immheader)
    245248      (error "~s is not an ivector subtype." element-type))
    246249    (let* ((size-in-octets (ccl::subtag-bytes subtag element-count)))
  • trunk/source/level-1/l1-typesys.lisp

    r13099 r14119  
    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
  • trunk/source/level-1/level-1.lisp

    r13067 r14119  
    4747  #+x86-target
    4848  (l1-load "x86-callback-support")
     49  #+arm-target
     50  (l1-load "arm-callback-support")
    4951  (l1-load "l1-callbacks")
    5052  (l1-load "l1-sort")
     
    7375  #+x86-target
    7476  (l1-load "x86-threads-utils")
     77  #+arm-target
     78  (l1-load "arm-threads-utils")
    7579  (l1-load "l1-lisp-threads")
    7680  (l1-load "l1-application")
     
    8791  #+x86-target
    8892  (l1-load "x86-trap-support")
     93  #+arm-target
     94  (l1-load "arm-trap-support")
    8995  (l1-load "l1-format")
    9096  (l1-load "l1-sysio")
Note: See TracChangeset for help on using the changeset viewer.