Changeset 13861


Ignore:
Timestamp:
Jun 19, 2010, 10:57:03 AM (9 years ago)
Author:
gb
Message:

Use NTH-IMMEDIATE to reference fixed constants in GF/FIN trampoline code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/level-0/ARM/arm-clos.lisp

    r13851 r13861  
    186186      (ldrne lr (:@ lr (:$ (arm::%kernel-global 'arm::lexpr-return1v))))
    187187      (mov arg_z vsp)
    188       (svref arg_y gf.dispatch-table nfn) ; dispatch-table
     188      (nth-immediate arg_y gf.dispatch-table nfn) ; dispatch-table
    189189      (set-nargs 2)
    190       (svref nfn gf.dcode nfn) ; dcode function
     190      (nth-immediate nfn gf.dcode nfn) ; dcode function
    191191      (ldr pc (:@ nfn (:$ arm::function.entrypoint)))))))
    192192
     
    196196
    197197(defarmlapfunction funcallable-trampoline ()
    198   (svref nfn gf.dcode nfn)
    199   (svref pc 0 nfn))
     198  (nth-immediate nfn gf.dcode nfn)
     199  (ldr pc (:@ nfn (:$ arm::function.entrypoint))))
    200200
    201201;;; This can't reference any of the function's constants.
     
    214214(defarmlapfunction gag-one-arg ((arg arg_z))
    215215  (check-nargs 1) 
    216   (svref arg_y gf.dispatch-table nfn) ; mention dt first
     216  (nth-immediate arg_y gf.dispatch-table nfn) ; mention dt first
    217217  (set-nargs 2)
    218   (svref nfn gf.dcode nfn)
     218  (nth-immediate nfn gf.dcode nfn)
    219219  (ldr pc (:@ nfn (:$ arm::function.entrypoint))))
    220220
     
    222222(defarmlapfunction gag-two-arg ((arg0 arg_y) (arg1 arg_z))
    223223  (check-nargs 2) 
    224   (svref arg_x gf.dispatch-table nfn) ; mention dt first
    225   (set-nargs 3)
    226   (svref nfn gf.dcode nfn)
     224  (nth-immediate arg_x gf.dispatch-table nfn) ; mention dt first
     225  (set-nargs 3)
     226  (nth-immediate nfn gf.dcode nfn)
    227227  (ldr pc (:@ nfn (:$ arm::function.entrypoint))))
    228228
     
    249249      (ldrne lr (:@ lr (:$ (arm::%kernel-global 'arm::lexpr-return1v))))
    250250      (mov arg_z vsp)
    251       (svref arg_y combined-method.thing nfn) ; thing
     251      (nth-immediate arg_y combined-method.thing nfn) ; thing
    252252      (set-nargs 2)
    253       (svref nfn combined-method.dcode nfn) ; dcode function
     253      (nth-immediate nfn combined-method.dcode nfn) ; dcode function
    254254      (ldr pc (:@ nfn (:$ arm::function.entrypoint)))))))
Note: See TracChangeset for help on using the changeset viewer.