Lafterinvoke: addl -16(%ebp), %esp addl $108, %esp popl %ebx popl %edi popl %esi popl %ebp retl Lcatchhandler: cmpl $1, %edx movl %eax, (%esp) jne Lnomatchexception # check if xamarin_marshal_objectivec_exception_mode == disable, if so, just don't handle the exception call Lloadpcrelative1 Lloadpcrelative1: popl %ecx cmpl $4, L_xamarin_marshal_objectivec_exception_mode$non_lazy_ptr-Lloadpcrelative1(%ecx) je Lnomatchexception calll _objc_begin_catch Lcatchbegin: movl %eax, (%esp) calll _xamarin_process_nsexception Lcatchend: calll _objc_end_catch jmp Lafterinvoke Lcatchcatchhandler: calll _objc_end_catch Lnomatchexception: calll __Unwind_Resume Lfunc_end0: .cfi_endproc # exception table .section __TEXT,__gcc_except_tab .align 2 GCC_except_table0: Lexception0: .byte 255 ## @LPStart Encoding = omit .byte 155 ## @TType Encoding = indirect pcrel sdata4 .asciz "\274" ## @TType base offset .byte 3 ## Call site Encoding = udata4 .byte 52 ## Call site table length Lset0 = Lbeforeinvoke-Lfunc_begin0 ## >> Call Site 1 << .long Lset0 Lset1 = Lafterinvoke-Lbeforeinvoke ## Call between Lbeforeinvoke and Lafterinvoke .long Lset1 Lset2 = Lcatchhandler-Lfunc_begin0 ## jumps to Lcatchhandler .long Lset2 .byte 1 ## On action: 1 Lset3 = Lafterinvoke-Lfunc_begin0 ## >> Call Site 2 << .long Lset3 Lset4 = Lcatchbegin-Lafterinvoke ## Call between Lafterinvoke and Lcatchbegin .long Lset4 .long 0 ## has no landing pad .byte 0 ## On action: cleanup Lset5 = Lcatchbegin-Lfunc_begin0 ## >> Call Site 3 << .long Lset5 Lset6 = Lcatchend-Lcatchbegin ## Call between Lcatchbegin and Lcatchend .long Lset6 Lset7 = Lcatchcatchhandler-Lfunc_begin0 ## jumps to Lcatchcatchhandler .long Lset7 .byte 0 ## On action: cleanup Lset8 = Lcatchend-Lfunc_begin0 ## >> Call Site 4 << .long Lset8 Lset9 = Lfunc_end0-Lcatchend ## Call between Lcatchend and Lfunc_end0 .long Lset9 .long 0 ## has no landing pad .byte 0 ## On action: cleanup .byte 1 ## >> Action Record 1 << ## Catch TypeInfo 1 .byte 0 ## No further actions ## >> Catch TypeInfos << Ltmp9: ## TypeInfo 1 .long L_OBJC_EHTYPE_$_NSException$non_lazy_ptr-Ltmp9 .align 2 .section __DATA,__objc_imageinfo,regular,no_dead_strip L_OBJC_IMAGE_INFO: .long 0 .long 0 .section __IMPORT,__pointers,non_lazy_symbol_pointers L_OBJC_EHTYPE_$_NSException$non_lazy_ptr: .indirect_symbol _OBJC_EHTYPE_$_NSException .long 0 L___objc_personality_v0$non_lazy_ptr: .indirect_symbol ___objc_personality_v0 .long 0 L_xamarin_marshal_objectivec_exception_mode$non_lazy_ptr: .indirect_symbol _xamarin_marshal_objectivec_exception_mode .long 0