ART: Reprint long messages on abort

Add an abort message parameter to Runtime::Abort. In case the message
is multiline (and will thus not be completely preserved in the
Android abort reason), reprint the message after all threads have
been dumped.

Bug: 31893081
Test: m test-art-host
Change-Id: I65bc77691fec79f7c868a90d6132805fcc91e473
(cherry picked from commit 90a32b16feb58d4edf932fdcb6a070be3418e365)
diff --git a/runtime/indirect_reference_table.cc b/runtime/indirect_reference_table.cc
index f334a05..06d376b 100644
--- a/runtime/indirect_reference_table.cc
+++ b/runtime/indirect_reference_table.cc
@@ -129,15 +129,9 @@
   DCHECK_GE(segment_state_.parts.numHoles, prevState.parts.numHoles);
 
   if (topIndex == max_entries_) {
-    std::ostringstream oss;
-    oss << "JNI ERROR (app bug): " << kind_ << " table overflow "
-        << "(max=" << max_entries_ << ")\n"
-        << MutatorLockedDumpable<IndirectReferenceTable>(*this);
-    if (VLOG_IS_ON(jni)) {
-      LOG(FATAL) << oss.str();
-    } else {
-      LOG_FATAL_THIS_THREAD_ONLY(oss.str());
-    }
+    LOG(FATAL) << "JNI ERROR (app bug): " << kind_ << " table overflow "
+               << "(max=" << max_entries_ << ")\n"
+               << MutatorLockedDumpable<IndirectReferenceTable>(*this);
   }
 
   // We know there's enough room in the table.  Now we just need to find