Changeset 6517


Ignore:
Timestamp:
May 9, 2007, 8:47:04 AM (15 years ago)
Author:
gb
Message:

.SPnmkunwind. Old catch/unwind: do explicit blr.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/ppc-spentry.s

    r5784 r6517  
    6161        __(li imm2,0)
    6262        __(mkcatch())
    63 
     63        __(blr)
     64       
    6465_spentry(mkunwind)
    6566        __(lwi(arg_z,unbound_marker))
    6667        __(li imm2,fixnum_one)
    6768        __(mkcatch())
    68        
     69        __(blr)
     70       
    6971_spentry(mkcatchmv)
    7072        __(li imm2,fixnum_one)
    7173        __(mkcatch())
    72 
     74        __(blr)
     75       
    7376/* Caller has pushed tag and 0 or more values; nargs = nvalues.  */
    7477/* Otherwise, process unwind-protects and throw to indicated catch frame.  */
     
    68366839       
    68376840
    6838 _spentry(unused_5)
    6839          __(b _SPbreakpoint)
     6841_spentry(nmkunwind)
     6842        __(li imm2,-fixnumone)
     6843        __(li imm3,INTERRUPT_LEVEL_BINDING_INDEX)
     6844        __(ldr(imm4,tcr.tlb_pointer(rcontext)))
     6845        __(ldr(arg_y,INTERRUPT_LEVEL_BINDING_INDEX(imm4)))
     6846        __(ldr(imm1,tcr.db_link(rcontext)))
     6847        __(vpush(arg_y))
     6848        __(vpush(imm3))
     6849        __(vpush(imm1))
     6850        __(str(imm2,INTERRUPT_LEVEL_BINDING_INDEX(imm4)))
     6851        __(str(vsp,tcr.db_link(rcontext)))
     6852        __(lwi(arg_z,unbound_marker))
     6853        __(li imm2,fixnum_one)
     6854        __(mkcatch())
     6855        __(mr arg_z,arg_y)
     6856        __(b _SPbind_interrupt_level)
    68406857
    68416858_spentry(unused_6)
Note: See TracChangeset for help on using the changeset viewer.