Update for MapInfo objects in frame data.

The frame data no longer contains map_XXX fields which represent
the map data. Now there is only a shared pointer to the MapInfo
object with which this frame is associated.

Bug: 120606663

Test: Compiles.
Change-Id: I1faf83a1023fe8344c16807599397ecceba2ccd2
diff --git a/runtime/backtrace_helper.cc b/runtime/backtrace_helper.cc
index 74e6130..d76a501 100644
--- a/runtime/backtrace_helper.cc
+++ b/runtime/backtrace_helper.cc
@@ -99,12 +99,19 @@
       if (kStrictUnwindChecks) {
         std::vector<unwindstack::FrameData>& frames = unwinder->frames();
         LOG(ERROR) << "Failed to unwind stack (error " << unwinder->LastErrorCodeString() << "):";
-        for (auto it = frames.begin(); it != frames.end(); it++) {
-          if (it == frames.begin() || std::prev(it)->map_name != it->map_name) {
-            LOG(ERROR) << " in " << it->map_name.c_str();
+        std::string prev_name;
+        for (auto& frame : frames) {
+          if (frame.map_info != nullptr) {
+            std::string full_name = frame.map_info->GetFullName();
+            if (prev_name != full_name) {
+              LOG(ERROR) << " in " << full_name;
+            }
+            prev_name = full_name;
+          } else {
+            prev_name = "";
           }
           LOG(ERROR) << " pc " << std::setw(8) << std::setfill('0') << std::hex <<
-            it->rel_pc << " " << it->function_name.c_str();
+            frame.rel_pc << " " << frame.function_name.c_str();
         }
         LOG(FATAL);
       }