Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3134)

Unified Diff: base/mac/call_with_eh_frame_asm.S

Issue 1647803004: Move base to DEPS (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/mac/call_with_eh_frame.cc ('k') | base/mac/call_with_eh_frame_unittest.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/mac/call_with_eh_frame_asm.S
diff --git a/base/mac/call_with_eh_frame_asm.S b/base/mac/call_with_eh_frame_asm.S
deleted file mode 100644
index 0e399cf2ae0b9f17db25bc2fde7c4bc15b98840b..0000000000000000000000000000000000000000
--- a/base/mac/call_with_eh_frame_asm.S
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// base::mac::CallWithEHFrame(void () block_pointer)
-#define CALL_WITH_EH_FRAME __ZN4base3mac15CallWithEHFrameEU13block_pointerFvvE
-
- .section __TEXT,__text,regular,pure_instructions
-#if !defined(COMPONENT_BUILD)
- .private_extern CALL_WITH_EH_FRAME
-#endif
- .globl CALL_WITH_EH_FRAME
- .align 4
-CALL_WITH_EH_FRAME:
-
- .cfi_startproc
-
- // Configure the C++ exception handler personality routine. Normally the
- // compiler would emit ___gxx_personality_v0 here. The purpose of this
- // function is to use a custom personality routine.
- .cfi_personality 155, __ZN4base3mac21CxxPersonalityRoutineEi14_Unwind_ActionyP17_Unwind_ExceptionP15_Unwind_Context
- .cfi_lsda 16, CallWithEHFrame_exception_table
-
-Lfunction_start:
- pushq %rbp
- .cfi_def_cfa_offset 16
- .cfi_offset %rbp, -16
- movq %rsp, %rbp
- .cfi_def_cfa_register %rbp
-
- // Load the function pointer from the block descriptor.
- movq 16(%rdi), %rax
-
- // Execute the block in the context of a C++ try{}.
-Ltry_start:
- callq *%rax
-Ltry_end:
- popq %rbp
- ret
-
- // Landing pad for the exception handler. This should never be called, since
- // the personality routine will stop the search for an exception handler,
- // which will cause the runtime to invoke the default terminate handler.
-Lcatch:
- movq %rax, %rdi
- callq ___cxa_begin_catch // The ABI requires a call to the catch handler.
- ud2 // In the event this is called, make it fatal.
-
-Lfunction_end:
- .cfi_endproc
-
-// The C++ exception table that is used to identify this frame as an
-// exception handler. See http://llvm.org/docs/ExceptionHandling.html and
-// http://mentorembedded.github.io/cxx-abi/exceptions.pdf.
- .section __TEXT,__gcc_except_tab
- .align 2
-CallWithEHFrame_exception_table:
- .byte 255 // DW_EH_PE_omit
- .byte 155 // DW_EH_PE_indirect | DW_EH_PE_pcrel | DW_EH_PE_sdata4
- .asciz "\242\200\200" // LE int128 for the number of bytes in this table.
- .byte 3 // DW_EH_PE_udata4
- .byte 26 // Callsite table length.
-
-// First callsite.
-CS1_begin = Ltry_start - Lfunction_start
- .long CS1_begin
-CS1_end = Ltry_end - Ltry_start
- .long CS1_end
-
-// First landing pad.
-LP1 = Lcatch - Lfunction_start
- .long LP1
- .byte 1 // Action record.
-
-// Second callsite.
-CS2_begin = Ltry_end - Lfunction_start
- .long CS2_begin
-CS2_end = Lfunction_end - Ltry_end
- .long CS2_end
-
-// Second landing pad (none).
- .long 0
- .byte 0 // No action.
-
-// Action table.
- .byte 1 // Action record 1.
- .byte 0 // No further action to take.
- .long 0 // No type filter for this catch(){} clause.
- .align 2
« no previous file with comments | « base/mac/call_with_eh_frame.cc ('k') | base/mac/call_with_eh_frame_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698