Changeset 14558


Ignore:
Timestamp:
Jan 7, 2011, 12:46:44 AM (9 years ago)
Author:
gb
Message:

Change subprims origin to #x04002000 on Android.

Location:
trunk/source
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/ARM/arm-asm.lisp

    r14556 r14558  
    22142214
    22152215(defun vinsn-insert-subprim-operand (instruction value)
    2216   (let* ((name (arm-subprimitive-name value))
     2216  (let* ((name (or (arm-subprimitive-name value)
     2217                   (arm-subprimitive-name (+ value (ccl::backend-real-subprims-bias ccl::*target-backend*)))))
    22172218         (label (or (find-lap-label name)
    22182219                    (make-lap-label name))))
  • trunk/source/compiler/ARM/arm-backend.lisp

    r14552 r14558  
    272272                :target-arch-name :arm
    273273                :target-foreign-type-data nil
    274                 :target-arch arm::*arm-target-arch*))
     274                :target-arch arm::*arm-target-arch*
     275                :lowmem-bias (cons 0 (- #x04002000 #x9000))))
    275276
    276277#+(or linuxarm-target (not arm-target))
  • trunk/source/compiler/ARM/arm2.lisp

    r14557 r14558  
    276276           (arm2-stack-to-register seg ea arm::arg_x)
    277277           (arm2-lri seg arm::arg_y 0)
    278            (! call-subprim-3 arm::arg_z (subprim-name->offset '.SPgvset) arm::arg_x arm::arg_y arm::arg_z))
     278           (! call-subprim-3 arm::arg_z (arm::arm-subprimitive-address '.SPgvset) arm::arg_x arm::arg_y arm::arg_z))
    279279          ((memory-spec-p ea)    ; vstack slot
    280280           (arm2-register-to-stack seg valreg ea))
     
    13191319             (imm0 ($ arm::imm0 :mode :s32)))
    13201320        (arm2-copy-register seg imm0 s32-src)
    1321         (! call-subprim (subprim-name->offset '.SPmakes32))
     1321        (! call-subprim (arm::arm-subprimitive-address '.SPmakes32))
    13221322        (arm2-copy-register seg node-dest arg_z)))))
    13231323
     
    13311331             (imm0 ($ arm::imm0 :mode :u32)))
    13321332        (arm2-copy-register seg imm0 u32-src)
    1333         (! call-subprim (subprim-name->offset '.SPmakeu32))
     1333        (! call-subprim (arm::arm-subprimitive-address '.SPmakeu32))
    13341334        (arm2-copy-register seg node-dest arg_z)))))
    13351335
     
    20502050                          (eql (hard-regspec-value val-reg) arm::arg_z))
    20512051               (compiler-bug "Bug: invalid register targeting for gvset: ~s" (list src unscaled-idx val-reg)))
    2052              (! call-subprim-3 val-reg (subprim-name->offset '.SPgvset) src unscaled-idx val-reg))
     2052             (! call-subprim-3 val-reg (arm::arm-subprimitive-address '.SPgvset) src unscaled-idx val-reg))
    20532053            (is-node
    20542054             (if (and index-known-fixnum (<= index-known-fixnum
     
    25192519                   (*arm2-top-vstack-lcell* *arm2-top-vstack-lcell*))
    25202520              (arm2-lri seg arm::arg_x (ash (nx-lookup-target-uvector-subtag :function) *arm2-target-fixnum-shift*))
    2521               (arm2-lri seg arm::temp0 (subprim-name->offset '.SPfix-nfn-entrypoint))
     2521              (arm2-lri seg arm::temp0 (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint))
    25222522              (! %closure-code% arm::arg_y)
    25232523              (arm2-store-immediate seg (arm2-afunc-lfun-ref afunc) arm::arg_z)
     
    25442544              (! %alloc-misc-fixed dest arm::imm0 (ash vsize (arch::target-word-shift arch)))
    25452545              )
    2546             (! lri arm::arg_x (subprim-name->offset '.SPfix-nfn-entrypoint))
     2546            (! lri arm::arg_x (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint))
    25472547            (! misc-set-c-node arm::arg_x dest 0)
    25482548            (! %closure-code% arm::arg_x)
     
    43344334        (! trap-unless-cons ptr-vreg))
    43354335      (if setcdr
    4336         (! call-subprim-2 ($ arm::arg_z) (subprim-name->offset '.SPrplacd) ptr-vreg val-vreg)
    4337         (! call-subprim-2 ($ arm::arg_z) (subprim-name->offset '.SPrplaca) ptr-vreg val-vreg))
     4336        (! call-subprim-2 ($ arm::arg_z) (arm::arm-subprimitive-address '.SPrplacd) ptr-vreg val-vreg)
     4337        (! call-subprim-2 ($ arm::arg_z) (arm::arm-subprimitive-address '.SPrplaca) ptr-vreg val-vreg))
    43384338      (if returnptr
    43394339        (<- ptr-vreg)
     
    59175917              #+nil
    59185918              (case nargs
    5919                 (0 (subprim-name->offset '.SPcallbuiltin0))
    5920                 (1 (subprim-name->offset '.SPcallbuiltin1))
    5921                 (2 (subprim-name->offset '.SPcallbuiltin2))
    5922                 (3 (subprim-name->offset '.SPcallbuiltin3))
    5923                 (t (subprim-name->offset '.SPcallbuiltin))))))
     5919                (0 (arm::arm-subprimitive-address '.SPcallbuiltin0))
     5920                (1 (arm::arm-subprimitive-address '.SPcallbuiltin1))
     5921                (2 (arm::arm-subprimitive-address '.SPcallbuiltin2))
     5922                (3 (arm::arm-subprimitive-address '.SPcallbuiltin3))
     5923                (t (arm::arm-subprimitive-address '.SPcallbuiltin))))))
    59245924    (when tail-p
    59255925      (arm2-restore-full-lisp-context seg))
     
    59275927    (unless idx-subprim
    59285928      (! lri arm::imm0 (ash idx *arm2-target-fixnum-shift*))
    5929       (when (eql subprim (subprim-name->offset '.SPcallbuiltin))
     5929      (when (eql subprim (arm::arm-subprimitive-address '.SPcallbuiltin))
    59305930        (arm2-set-nargs seg nargs)))
    59315931    (if tail-p
     
    61716171            (-> done)))
    61726172        (@ out-of-line)
    6173         (! call-subprim-2 ($ arm::arg_z) (subprim-name->offset '.SPbuiltin-plus) ($ arm::arg_y) ($ arm::arg_z))
     6173        (! call-subprim-2 ($ arm::arg_z) (arm::arm-subprimitive-address '.SPbuiltin-plus) ($ arm::arg_y) ($ arm::arg_z))
    61746174        (@ done)
    61756175        (arm2-copy-register seg target ($ arm::arg_z)))
     
    61936193            (-> done)))
    61946194        (@ out-of-line)
    6195         (! call-subprim-2 ($ arm::arg_z) (subprim-name->offset '.SPbuiltin-minus) ($ arm::arg_y) ($ arm::arg_z))
     6195        (! call-subprim-2 ($ arm::arg_z) (arm::arm-subprimitive-address '.SPbuiltin-minus) ($ arm::arg_y) ($ arm::arg_z))
    61966196        (@ done)
    61976197        (arm2-copy-register seg target ($ arm::arg_z)))
     
    63706370            (if otherform
    63716371              (arm2-lri seg ($ arm::arg_y) (ash fixval *arm2-target-fixnum-shift*)))
    6372             (! call-subprim-2 ($ arm::arg_z) (subprim-name->offset '.SPbuiltin-logior) ($ arm::arg_y) ($ arm::arg_z))
     6372            (! call-subprim-2 ($ arm::arg_z) (arm::arm-subprimitive-address '.SPbuiltin-logior) ($ arm::arg_y) ($ arm::arg_z))
    63736373            (@ done)
    63746374            (arm2-copy-register seg target ($ arm::arg_z)))
     
    64196419          (if otherform
    64206420            (arm2-lri seg ($ arm::arg_y) (ash fixval *arm2-target-fixnum-shift*)))
    6421             (! call-subprim-2 ($ arm::arg_z) (subprim-name->offset '.SPbuiltin-logand) ($ arm::arg_y) ($ arm::arg_z))         
     6421            (! call-subprim-2 ($ arm::arg_z) (arm::arm-subprimitive-address '.SPbuiltin-logand) ($ arm::arg_y) ($ arm::arg_z))         
    64226422            (@ done)
    64236423            (arm2-copy-register seg target ($ arm::arg_z)))
  • trunk/source/level-0/ARM/arm-def.lisp

    r14518 r14558  
    524524        (error "Wrong size target ~s" target)))
    525525    (%copy-gvector-to-gvector proto 0 new 0 total-size)
    526     (setf (%svref new 0 )arm::*function-initial-entrypoint*)
     526    (setf (%svref new 0) #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift)))
    527527    new))
    528528
     
    530530  (if (typep target-fn 'function)
    531531    (if (typep proto-fn 'function)
    532       (setf (uvref target-fn 0) arm::*function-initial-entrypoint*
     532      (setf (uvref target-fn 0) #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    533533            (uvref target-fn 1) (uvref proto-fn 1))
    534534      (report-bad-arg proto-fn 'function))
  • trunk/source/level-1/l1-clos-boot.lisp

    r14550 r14558  
    26172617  #+arm-target
    26182618  (gvector :function
    2619            arm::*function-initial-entrypoint*
     2619           #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    26202620           (uvref *reader-method-function-proto* 1)
    26212621           (ensure-slot-id (%slot-definition-name dslotd))
     
    26432643    #+arm-target
    26442644    (gvector :function
    2645              arm::*function-initial-entrypoint*
     2645             #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    26462646             (uvref *writer-method-function-proto* 1)
    26472647             (ensure-slot-id (%slot-definition-name dslotd))
  • trunk/source/level-1/l1-clos.lisp

    r14119 r14558  
    377377              #+arm-target
    378378              (gvector :function
    379                        arm::*function-initial-entrypoint*
     379                       #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    380380                       (%svref (if small
    381381                                 #'%small-map-slot-id-lookup
     
    409409              #+arm-target
    410410              (gvector :function
    411                        arm::*function-initial-entrypoint*
     411                       #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    412412                       (%svref (if small
    413413                                 #'%small-slot-id-value
     
    446446              #+arm-target
    447447              (gvector :function
    448                        arm::*function-initial-entrypoint*
     448                       #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    449449                       (%svref (if small
    450450                                 #'%small-set-slot-id-value
     
    16811681           #+arm-target
    16821682           (gvector :function
    1683                     arm::*function-initial-entrypoint*
     1683                    #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    16841684                    *unset-fin-code*
    16851685                    wrapper
  • trunk/source/level-1/l1-dcode.lisp

    r14119 r14558  
    428428                 (fn #+(or ppc-target arm-target)
    429429                   (gvector :function
    430                             #+arm-target arm::*function-initial-entrypoint*
     430                            #+arm-target #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    431431                              *gf-proto-code*
    432432                              wrapper
     
    476476  #+(or ppc-target arm-target)
    477477  (gvector :function
    478            #+arm-target arm::*function-initial-entrypoint*
     478           #+arm-target #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    479479           *cm-proto-code*
    480480           thing
  • trunk/source/level-1/l1-typesys.lisp

    r14119 r14558  
    43174317  #+arm-target
    43184318  (gvector :function
    4319            arm::*function-initial-entrypoint*
     4319           #.(ash (arm::arm-subprimitive-address '.SPfix-nfn-entrypoint) (- arm::fixnumshift))
    43204320           (uvref *simple-predicate-function-prototype* 1)
    43214321           datum
  • trunk/source/lisp-kernel/androidarm/armandroid.x

    r14321 r14558  
    88{
    99  /* Read-only sections, merged into text segment: */
    10   PROVIDE (__executable_start = 0x8000); . = 0x8000 + SIZEOF_HEADERS;
     10  PROVIDE (__executable_start = 0x04001000); . = 0x04001000 + SIZEOF_HEADERS;
    1111  .pad : { pad.o(.text) }
    1212  .subprims ALIGN(0x1000) :
  • trunk/source/lisp-kernel/platform-androidarm.h

    r14502 r14558  
    2626
    2727
    28 #define MAXIMUM_MAPPABLE_MEMORY (5<<28)
     28#define MAXIMUM_MAPPABLE_MEMORY (3<<28)
    2929#define IMAGE_BASE_ADDRESS 0x50000000
    3030
Note: See TracChangeset for help on using the changeset viewer.