Make dexlayout and profman independent of libart
Remove the libart dependency from these two tools. Dexdiag remains
dependent because vdex_file.* is in runtime. It could possibly be moved
also.
Bug: 78652467
Test: make -j 40 checkbuild
make -j 40 test-art-host-gtest
Change-Id: I68a62f8b2a2730067aee5ff5e0cf81acdca0d703
diff --git a/profman/profman.cc b/profman/profman.cc
index cd88d03..1f77239 100644
--- a/profman/profman.cc
+++ b/profman/profman.cc
@@ -33,6 +33,7 @@
#include "base/dumpable.h"
#include "base/logging.h" // For InitLogging.
+#include "base/mem_map.h"
#include "base/scoped_flock.h"
#include "base/stringpiece.h"
#include "base/time_utils.h"
@@ -49,7 +50,6 @@
#include "dex/type_reference.h"
#include "profile/profile_compilation_info.h"
#include "profile_assistant.h"
-#include "runtime.h"
namespace art {
@@ -177,6 +177,11 @@
static constexpr char kMethodFlagStringStartup = 'S';
static constexpr char kMethodFlagStringPostStartup = 'P';
+NO_RETURN static void Abort(const char* msg) {
+ LOG(ERROR) << msg;
+ exit(1);
+}
+
// TODO(calin): This class has grown too much from its initial design. Split the functionality
// into smaller, more contained pieces.
class ProfMan FINAL {
@@ -202,8 +207,8 @@
original_argc = argc;
original_argv = argv;
- Locks::Init();
- InitLogging(argv, Runtime::Abort);
+ MemMap::Init();
+ InitLogging(argv, Abort);
// Skip over the command name.
argv++;