summaryrefslogtreecommitdiffstats
path: root/runtime/trace.cc
diff options
context:
space:
mode:
authorJeff Hao <jeffhao@google.com>2014-09-15 18:03:41 -0700
committerJeff Hao <jeffhao@google.com>2014-09-17 14:31:55 -0700
commit69dbec6d9d55eeb2867949c2791d01dc9aa916c8 (patch)
treebe4eca8161eafb4a8466f5adf28a2c8f27cd37d1 /runtime/trace.cc
parent926d8e99aa69151a271180299df68963688010d8 (diff)
downloadart-69dbec6d9d55eeb2867949c2791d01dc9aa916c8.tar.gz
art-69dbec6d9d55eeb2867949c2791d01dc9aa916c8.tar.bz2
art-69dbec6d9d55eeb2867949c2791d01dc9aa916c8.zip
Avoid suspending for alloc trace enabling when already suspended.
Bug: 17499772 (cherry picked from commit 1d6ee090fddd4bfd35c304d6ceb929d5c529dfcc) Change-Id: Id09809c476c685f0a197ee75bb08638931364efd
Diffstat (limited to 'runtime/trace.cc')
-rw-r--r--runtime/trace.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/runtime/trace.cc b/runtime/trace.cc
index 6dcc5fe6bb..b32e0429b1 100644
--- a/runtime/trace.cc
+++ b/runtime/trace.cc
@@ -373,11 +373,9 @@ void Trace::Start(const char* trace_filename, int trace_fd, int buffer_size, int
// Enable count of allocs if specified in the flags.
if ((flags && kTraceCountAllocs) != 0) {
- runtime->SetStatsEnabled(true);
+ runtime->SetStatsEnabled(true, true);
}
-
-
if (sampling_enabled) {
CHECK_PTHREAD_CALL(pthread_create, (&sampling_pthread_, NULL, &RunSamplingThread,
reinterpret_cast<void*>(interval_us)),
@@ -492,7 +490,7 @@ void Trace::FinishTracing() {
size_t final_offset = cur_offset_.LoadRelaxed();
if ((flags_ & kTraceCountAllocs) != 0) {
- Runtime::Current()->SetStatsEnabled(false);
+ Runtime::Current()->SetStatsEnabled(false, true);
}
std::set<mirror::ArtMethod*> visited_methods;