Changeset 13864


Ignore:
Timestamp:
Jun 21, 2010, 9:43:43 AM (9 years ago)
Author:
gb
Message:

arm-lapmacros.lisp: define DISCARD-LISP-FRAME.
arm-clos.lisp: *GM-PROTO*, *CM-PROTO*: save lisp frames on cstack during lexpr entry
arm-def.lisp: don't restore lisp frame after .SPspread-lexprz in %APPLY-LEXPR-WITH-METHOD-CONTEXT. (We just need the frame to GC-protect the lr, and .SPspread-lexprz modifies the vsp.)
l1-dcode.lisp: remove the #+arm-target debug trap from %%NO-APPLICABLE-METHOD.

Location:
branches/arm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/arm/compiler/ARM/arm-lapmacros.lisp

    r13859 r13864  
    6969  `(ldmia (:! sp) (,marker-reg vsp fn pc)))
    7070
     71(defarmlapmacro discard-lisp-frame ()
     72  `(add sp sp (:$ arm::lisp-frame.size)))
     73
    7174
    7275(defarmlapmacro push1 (src stack)
  • branches/arm/level-0/ARM/arm-clos.lisp

    r13861 r13864  
    181181      (moveq lr (:$ (- arm::nil-value arm::fulltag-nil)))
    182182      (ldreq lr (:@ lr (:$ (arm::%kernel-global 'arm::lexpr-return))))
    183       (stmdbeq (:! vsp) (imm0 imm1 fn lr))
     183      (stmdbeq (:! sp) (imm0 imm1 fn lr))
    184184      (moveq lr arg_x)
    185185      (movne lr (:$ (- arm::nil-value arm::fulltag-nil)))
     
    244244      (moveq lr (:$ (- arm::nil-value arm::fulltag-nil)))
    245245      (ldreq lr (:@ lr (:$ (arm::%kernel-global 'arm::lexpr-return))))
    246       (stmdbeq (:! vsp) (imm0 imm1 fn lr))
     246      (stmdbeq (:! sp) (imm0 imm1 fn lr))
    247247      (moveq lr arg_x)
    248248      (movne lr (:$ (- arm::nil-value arm::fulltag-nil)))
  • branches/arm/level-0/ARM/arm-def.lisp

    r13789 r13864  
    10671067  (build-lisp-frame)
    10681068  (bl .SPspread-lexprz)
    1069   (restore-lisp-frame)
     1069  (ldr lr (:@ sp (:$ arm::lisp-frame.savelr)))
     1070  (discard-lisp-frame)
    10701071  (ldr pc (:@ nfn (:$ arm::function.entrypoint))))
    10711072
Note: See TracChangeset for help on using the changeset viewer.