Changeset 12658


Ignore:
Timestamp:
Aug 24, 2009, 7:15:53 AM (10 years ago)
Author:
gb
Message:

Apparent victory in PPC64 ObjC exception handling.

File:
1 edited

Legend:

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

    r12649 r12658  
    15941594          /* Unboxed foreign exception (likely an NSException) in %imm0. */
    15951595          /* Box it, then signal a lisp error. */
     1596          __(li imm1,macptr_header)
    15961597          __(Misc_Alloc_Fixed(arg_z,imm1,macptr.size))
    15971598          __(std imm0,macptr.address(arg_z))
     
    18181819          /* Unboxed foreign exception (likely an NSException) in %imm0. */
    18191820          /* Box it, then signal a lisp error. */
     1821          __(li imm1,macptr_header)
    18201822          __(Misc_Alloc_Fixed(arg_z,imm1,macptr.size))
    18211823          __(std imm0,macptr.address(arg_z))
     
    18541856          __(mr imm0,save1)
    18551857          __(b LocalLabelPrefix[]ffcall_return_registers_call_end)
    1856 LocalLabelPrefix[]ffcall_return_registers_end:   
     1858LocalLabelPrefix[]ffcall_return_registers_end:
    18571859          .section __DATA,__gcc_except_tab
    18581860GCC_except_table1:
     
    69756977        __ifdef([DARWIN])
    69766978         __ifdef([PPC64])
     6979L_lisp_objc2_personality:       
     6980        __(ref_global(r12,objc_2_personality))
     6981        __(mtctr r12)
     6982        __(bctr)
     6983        .data
     6984        .globl _lisp_objc2_personality
     6985_lisp_objc2_personality:
     6986        .quad L_lisp_objc2_personality
    69776987       
    69786988        .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
     
    69866996        .byte   0x1     /* uleb128 0x1; CIE Code Alignment Factor */
    69876997        .byte   0x78    /* sleb128 -8; CIE Data Alignment Factor */
    6988         .byte   0x10    /* CIE RA Column */
     6998        .byte   0x41    /* CIE RA Column */
    69896999        .byte   0x7
    6990         .byte   0x8c
    6991         .quad   lisp_globals.objc_2_personality
     7000        .byte   0x9b
     7001        .long   _lisp_objc2_personality-.
    69927002        .byte   0x10    /* LSDA Encoding (pcrel) */
    69937003        .byte   0x10    /* FDE Encoding (pcrel) */
     
    69957005        .byte   0x1
    69967006        .byte   0x0
    6997         .byte   0xc     /* DW_CFA_def_cfa */
    6998         .byte   0x7     /* uleb128 0x7 */
    6999         .byte   0x8     /* uleb128 0x8 */
    7000         .byte   0x90    /* DW_CFA_offset, column 0x10 */
    7001         .byte   0x1     /* uleb128 0x1 */
    70027007        .align 3
    70037008LECIE1:
    70047009        .globl _SPffcall.eh
    70057010_SPffcall.eh:
    7006         .long LEFDEffcall-LSFDEffcall
     7011        .set assembler_nonsense,LEFDEffcall-LSFDEffcall
     7012        .long assembler_nonsense
    70077013LSFDEffcall:     
    70087014        .long LSFDEffcall-EH_frame1 /* FDE CIE offset */
     
    70257031        .byte   0x83    /* DW_CFA_offset, column 0x3 */
    70267032        .byte   0x3     /* uleb128 0x3 */
     7033LEFDEffcall:
    70277034        .align 3
    7028 LEFDEffcall:
    70297035        .globl _SPffcall_return_registers.eh
    70307036_SPffcall_return_registers.eh:
Note: See TracChangeset for help on using the changeset viewer.