Refactor MethodDebugInfo (input of DWARF writer).

Do not pass CompiledMethod pointer through since it is only available
during AOT compile but not during JIT compile or at runtime. Creating
mock CompiledMethod just pass data is proving increasingly tricky, so
copy the fields that we need to MethodDebugInfo instead.

Change-Id: I820297b41e769fcac488c0ff2d2ea0492bb13ed8
diff --git a/compiler/debug/method_debug_info.h b/compiler/debug/method_debug_info.h
index bb09f7e..1ccc705 100644
--- a/compiler/debug/method_debug_info.h
+++ b/compiler/debug/method_debug_info.h
@@ -29,18 +29,16 @@
   uint32_t dex_method_index;
   uint32_t access_flags;
   const DexFile::CodeItem* code_item;
+  InstructionSet isa;
   bool deduped;
   bool is_native_debuggable;
-  uintptr_t low_pc;
-  uintptr_t high_pc;
-  CompiledMethod* compiled_method;
-
-  bool IsFromOptimizingCompiler() const {
-    return compiled_method->GetQuickCode().size() > 0 &&
-           compiled_method->GetVmapTable().size() > 0 &&
-           compiled_method->GetGcMap().size() == 0 &&
-           code_item != nullptr;
-  }
+  bool is_optimized;
+  bool is_code_address_text_relative;  // Is the address offset from start of .text section?
+  uint64_t code_address;
+  uint32_t code_size;
+  uint32_t frame_size_in_bytes;
+  const uint8_t* code_info;
+  ArrayRef<const uint8_t> cfi;
 };
 
 }  // namespace debug