Merge "Compile-time tuning: register/bb utilities" into dalvik-dev
diff --git a/runtime/debugger.cc b/runtime/debugger.cc
index e01857f..88269e5 100644
--- a/runtime/debugger.cc
+++ b/runtime/debugger.cc
@@ -3459,11 +3459,13 @@
char* end;
size_t value = strtoul(allocRecordMaxString, &end, 10);
if (*end != '\0') {
- ALOGE("Ignoring %s '%s' --- invalid", propertyName, allocRecordMaxString);
+ LOG(ERROR) << "Ignoring " << propertyName << " '" << allocRecordMaxString
+ << "' --- invalid";
return kDefaultNumAllocRecords;
}
if (!IsPowerOfTwo(value)) {
- ALOGE("Ignoring %s '%s' --- not power of two", propertyName, allocRecordMaxString);
+ LOG(ERROR) << "Ignoring " << propertyName << " '" << allocRecordMaxString
+ << "' --- not power of two";
return kDefaultNumAllocRecords;
}
return value;
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc
index fe38d32..3787e1c 100644
--- a/runtime/instrumentation.cc
+++ b/runtime/instrumentation.cc
@@ -44,7 +44,7 @@
// Do we want to deoptimize for method entry and exit listeners or just try to intercept
// invocations? Deoptimization forces all code to run in the interpreter and considerably hurts the
// application's performance.
-static constexpr bool kDeoptimizeForAccurateMethodEntryExitListeners = true;
+static constexpr bool kDeoptimizeForAccurateMethodEntryExitListeners = false;
static bool InstallStubsClassVisitor(mirror::Class* klass, void* arg)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
diff --git a/runtime/monitor.cc b/runtime/monitor.cc
index 66c51e6..92e6541 100644
--- a/runtime/monitor.cc
+++ b/runtime/monitor.cc
@@ -260,8 +260,7 @@
if (!Runtime::Current()->IsStarted()) {
std::ostringstream ss;
self->Dump(ss);
- std::string str(ss.str());
- LOG(ERROR) << "IllegalMonitorStateException: " << str;
+ LOG(ERROR) << self->GetException(NULL)->Dump() << "\n" << ss.str();
}
va_end(args);
}
diff --git a/runtime/native/dalvik_system_Zygote.cc b/runtime/native/dalvik_system_Zygote.cc
index 4108559..2acacc9 100644
--- a/runtime/native/dalvik_system_Zygote.cc
+++ b/runtime/native/dalvik_system_Zygote.cc
@@ -340,13 +340,10 @@
// /mnt/shell/emulated/0
std::string source_user(StringPrintf("%s/%d", source, user_id));
- // /mnt/shell/emulated/obb
- std::string source_obb(StringPrintf("%s/obb", source));
// /storage/emulated/0
std::string target_user(StringPrintf("%s/%d", target, user_id));
if (fs_prepare_dir(source_user.c_str(), 0000, 0, 0) == -1
- || fs_prepare_dir(source_obb.c_str(), 0000, 0, 0) == -1
|| fs_prepare_dir(target_user.c_str(), 0000, 0, 0) == -1) {
return false;
}
@@ -365,23 +362,9 @@
}
}
- // Now that user is mounted, prepare and mount OBB storage
- // into place for current user
-
- // /storage/emulated/0/Android
- std::string target_android(StringPrintf("%s/%d/Android", target, user_id));
- // /storage/emulated/0/Android/obb
- std::string target_obb(StringPrintf("%s/%d/Android/obb", target, user_id));
-
- if (fs_prepare_dir(target_android.c_str(), 0000, 0, 0) == -1
- || fs_prepare_dir(target_obb.c_str(), 0000, 0, 0) == -1
- || fs_prepare_dir(legacy, 0000, 0, 0) == -1) {
+ if (fs_prepare_dir(legacy, 0000, 0, 0) == -1) {
return false;
}
- if (mount(source_obb.c_str(), target_obb.c_str(), NULL, MS_BIND, NULL) == -1) {
- PLOG(WARNING) << "Failed to mount " << source_obb << " to " << target_obb;
- return false;
- }
// Finally, mount user-specific path into place for legacy users
if (mount(target_user.c_str(), legacy, NULL, MS_BIND | MS_REC, NULL) == -1) {