Changeset 6779 for branches


Ignore:
Timestamp:
Jun 26, 2007, 2:14:06 AM (17 years ago)
Author:
Gary Byers
Message:

Start to sketch out ObjC 2.0 exception handling in .SPffcall.
Needs a lot of work still, needs to be done in ffcall_return_registers
as well.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ide-1.0/ccl/lisp-kernel/x86-spentry64.s

    r6562 r6779  
    39523952        __(pop %r9)
    39533953        __(call *%r11)
     3954        __ifdef([DARWIN])       
     3955        /* Handle exceptions, for ObjC 2.0 */
     3956        __(jmp LFFCallNoException)
     3957LFFCallLandingPad:     
     3958        __(movq %rax,%save1)
     3959        __(cmpq $1,%rdx)
     3960        __(je 1f)
     3961        __(movq %rax,%rdi)
     3962        __(call *lisp_global(unwind_resume))
     39631:      __(movq %save1,%rdi)
     3964        __(call *lisp_global(objc2_begin_catch))
     3965        __(movq %rax,%save1)
     3966        __(call *lisp_global(objc2_end_catch))
     3967LFFCallNoException:             
     3968        __endif
    39543969        __(movq %rbp,%rsp)
    39553970        __ifdef([DARWIN_GS_HACK])
     
    40004015        __(leave)
    40014016        __(ret)
     4017       
     4018       
    40024019_endsubp(ffcall)
    40034020
     
    47334750
    47344751_spentry(breakpoint)
     4752        __(int $3)
    47354753_endsubp(breakpoint)
    47364754
     
    47394757
    47404758_spentry(unused_5)
     4759        __(int $3)
    47414760_endsubp(unused_5)
    47424761
    47434762_spentry(unused_6)
     4763        __(int $3)
    47444764_endsubp(unused_6)
    47454765       
Note: See TracChangeset for help on using the changeset viewer.