summaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-07-29 00:50:05 +0000
committerBill Wendling <isanbard@gmail.com>2009-07-29 00:50:05 +0000
commit0dafca90761097230f02e655fdd541f59b888315 (patch)
treefb105854ccd571626877ab91b34c4c38a542f78c /lib/CodeGen/AsmPrinter
parenteff2ab61b5d411fe64ba601d402b7c549644b590 (diff)
Move comment to above method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77412 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfException.cpp42
1 files changed, 21 insertions, 21 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.cpp b/lib/CodeGen/AsmPrinter/DwarfException.cpp
index f6f3906626..67f0e07851 100644
--- a/lib/CodeGen/AsmPrinter/DwarfException.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfException.cpp
@@ -235,27 +235,6 @@ void DwarfException::EmitEHFrame(const FunctionEHFrameInfo &EHFrameInfo) {
}
}
-/// EmitExceptionTable - Emit landing pads and actions.
-///
-/// The general organization of the table is complex, but the basic concepts are
-/// easy. First there is a header which describes the location and organization
-/// of the three components that follow.
-///
-/// 1. The landing pad site information describes the range of code covered by
-/// the try. In our case it's an accumulation of the ranges covered by the
-/// invokes in the try. There is also a reference to the landing pad that
-/// handles the exception once processed. Finally an index into the actions
-/// table.
-/// 2. The action table, in our case, is composed of pairs of type ids and next
-/// action offset. Starting with the action index from the landing pad
-/// site, each type Id is checked for a match to the current exception. If
-/// it matches then the exception and type id are passed on to the landing
-/// pad. Otherwise the next action is looked up. This chain is terminated
-/// with a next action of zero. If no type id is found the the frame is
-/// unwound and handling continues.
-/// 3. Type id table contains references to all the C++ typeinfo for all
-/// catches in the function. This tables is reversed indexed base 1.
-
/// SharedTypeIds - How many leading type ids two landing pads have in common.
unsigned DwarfException::SharedTypeIds(const LandingPadInfo *L,
const LandingPadInfo *R) {
@@ -470,6 +449,26 @@ ComputeCallSiteTable(SmallVectorImpl<CallSiteEntry> &CallSites,
}
}
+/// EmitExceptionTable - Emit landing pads and actions.
+///
+/// The general organization of the table is complex, but the basic concepts are
+/// easy. First there is a header which describes the location and organization
+/// of the three components that follow.
+///
+/// 1. The landing pad site information describes the range of code covered by
+/// the try. In our case it's an accumulation of the ranges covered by the
+/// invokes in the try. There is also a reference to the landing pad that
+/// handles the exception once processed. Finally an index into the actions
+/// table.
+/// 2. The action table, in our case, is composed of pairs of type ids and next
+/// action offset. Starting with the action index from the landing pad
+/// site, each type Id is checked for a match to the current exception. If
+/// it matches then the exception and type id are passed on to the landing
+/// pad. Otherwise the next action is looked up. This chain is terminated
+/// with a next action of zero. If no type id is found the the frame is
+/// unwound and handling continues.
+/// 3. Type id table contains references to all the C++ typeinfo for all
+/// catches in the function. This tables is reversed indexed base 1.
void DwarfException::EmitExceptionTable() {
const std::vector<GlobalVariable *> &TypeInfos = MMI->getTypeInfos();
const std::vector<unsigned> &FilterIds = MMI->getFilterIds();
@@ -554,6 +553,7 @@ void DwarfException::EmitExceptionTable() {
Asm->EOL("LPStart format (DW_EH_PE_omit)");
#if 0
+ // FIXME: This should default to what the system wants, not just "absptr".
if (!TypeInfos.empty() || !FilterIds.empty()) {
Asm->EmitInt8(TAI->PreferredEHDataFormat(DwarfEncoding::Data, true));
// FIXME: The comment here should correspond with what PreferredEHDataFormat