Write .debug_line section using the new DWARF library.

Also simplify dex to java mapping and handle mapping
in prologues and epilogues.

Change-Id: I410f06024580f2a8788f2c93fe9bca132805029a
diff --git a/compiler/oat_writer.cc b/compiler/oat_writer.cc
index 04f0db6..880ac15 100644
--- a/compiler/oat_writer.cc
+++ b/compiler/oat_writer.cc
@@ -1069,10 +1069,12 @@
         }
 
         const uint32_t quick_code_start = quick_code_offset -
-            writer_->oat_header_->GetExecutableOffset();
+            writer_->oat_header_->GetExecutableOffset() - thumb_offset;
         const DexFile::CodeItem *code_item = it.GetMethodCodeItem();
-        writer_->method_info_.push_back(DebugInfo(name,
-              dex_file_->GetSourceFile(dex_file_->GetClassDef(class_def_index_)),
+        const DexFile::ClassDef& class_def = dex_file_->GetClassDef(class_def_index_);
+        writer_->method_info_.push_back(DebugInfo(name, deduped,
+              dex_file_->GetClassDescriptor(class_def),
+              dex_file_->GetSourceFile(class_def),
               quick_code_start, quick_code_start + code_size,
               code_item == nullptr ? nullptr : dex_file_->GetDebugInfoStream(code_item),
               compiled_method));