summaryrefslogtreecommitdiff
path: root/tools/tracefast-plugin/tracefast.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/tracefast-plugin/tracefast.cc')
-rw-r--r--tools/tracefast-plugin/tracefast.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/tools/tracefast-plugin/tracefast.cc b/tools/tracefast-plugin/tracefast.cc
index 98f7ea5037..782b5fe347 100644
--- a/tools/tracefast-plugin/tracefast.cc
+++ b/tools/tracefast-plugin/tracefast.cc
@@ -14,6 +14,7 @@
* limitations under the License.
*/
+#include "android-base/macros.h"
#include "gc/scoped_gc_critical_section.h"
#include "instrumentation.h"
#include "runtime.h"
@@ -52,14 +53,16 @@ class Tracer final : public art::instrumentation::InstrumentationListener {
art::Handle<art::mirror::Object> this_object ATTRIBUTE_UNUSED,
art::ArtMethod* method ATTRIBUTE_UNUSED,
uint32_t dex_pc ATTRIBUTE_UNUSED,
- art::Handle<art::mirror::Object> return_value ATTRIBUTE_UNUSED)
+ art::instrumentation::OptionalFrame frame ATTRIBUTE_UNUSED,
+ art::MutableHandle<art::mirror::Object>& return_value ATTRIBUTE_UNUSED)
override REQUIRES_SHARED(art::Locks::mutator_lock_) { }
void MethodExited(art::Thread* thread ATTRIBUTE_UNUSED,
art::Handle<art::mirror::Object> this_object ATTRIBUTE_UNUSED,
art::ArtMethod* method ATTRIBUTE_UNUSED,
uint32_t dex_pc ATTRIBUTE_UNUSED,
- const art::JValue& return_value ATTRIBUTE_UNUSED)
+ art::instrumentation::OptionalFrame frame ATTRIBUTE_UNUSED,
+ art::JValue& return_value ATTRIBUTE_UNUSED)
override REQUIRES_SHARED(art::Locks::mutator_lock_) { }
void MethodUnwind(art::Thread* thread ATTRIBUTE_UNUSED,
@@ -153,10 +156,10 @@ class TraceFastPhaseCB : public art::RuntimePhaseCallback {
TraceFastPhaseCB gPhaseCallback;
// The plugin initialization function.
-extern "C" bool ArtPlugin_Initialize() REQUIRES_SHARED(art::Locks::mutator_lock_) {
+extern "C" bool ArtPlugin_Initialize() {
art::Runtime* runtime = art::Runtime::Current();
- art::ScopedThreadSuspension stsc(art::Thread::Current(),
- art::ThreadState::kWaitingForMethodTracingStart);
+ art::ScopedThreadStateChange stsc(art::Thread::Current(),
+ art::ThreadState::kWaitingForMethodTracingStart);
art::ScopedSuspendAll ssa("Add phase callback");
runtime->GetRuntimeCallbacks()->AddRuntimePhaseCallback(&gPhaseCallback);
return true;