OSDN Git Service

Revert "Allow duplicated methods in different DWARF line tables."
authorDavid Srbecky <dsrbecky@google.com>
Fri, 11 Mar 2016 14:34:47 +0000 (14:34 +0000)
committerDavid Srbecky <dsrbecky@google.com>
Fri, 11 Mar 2016 14:34:47 +0000 (14:34 +0000)
This reverts commit 3c5462364daee17e651299f1c370f965f34baed8.

Change-Id: Icc63c47cd53abeff2a470ae84715012a1ef988ac

compiler/debug/elf_debug_line_writer.h

index 9358618..11be4e9 100644 (file)
@@ -18,7 +18,6 @@
 #define ART_COMPILER_DEBUG_ELF_DEBUG_LINE_WRITER_H_
 
 #include <vector>
-#include <unordered_set>
 
 #include "compiled_method.h"
 #include "debug/dwarf/debug_line_opcode_writer.h"
@@ -82,14 +81,11 @@ class ElfDebugLineWriter {
       case kX86_64:
         break;
     }
-    std::unordered_set<uint64_t> seen_addresses(compilation_unit.methods.size());
     dwarf::DebugLineOpCodeWriter<> opcodes(is64bit, code_factor_bits_);
     for (const MethodDebugInfo* mi : compilation_unit.methods) {
       // Ignore function if we have already generated line table for the same address.
       // It would confuse the debugger and the DWARF specification forbids it.
-      // We allow the line table for method to be replicated in different compilation unit.
-      // This ensures that each compilation unit contains line table for all its methods.
-      if (!seen_addresses.insert(mi->low_pc).second) {
+      if (mi->deduped) {
         continue;
       }