Searched defs:instrumentation (Results 1 - 15 of 15) sorted by relevance

/art/runtime/entrypoints/quick/
H A Dquick_instrumentation_entrypoints.cc20 #include "instrumentation.h"
35 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
37 if (instrumentation->IsDeoptimized(method)) {
40 result = instrumentation->GetQuickCodeFor(method, sizeof(void*));
44 instrumentation->PushInstrumentationStackFrame(self, method->IsStatic() ? nullptr : this_object,
55 CHECK(!self->IsExceptionPending()) << "Enter instrumentation exit stub with pending exception "
67 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
68 TwoWordReturn return_or_deoptimize_pc = instrumentation
[all...]
/art/runtime/
H A Dinstrumentation.h41 namespace instrumentation { namespace in namespace:art
45 kMainHandlerTable = 0, // Main handler table: no suspend check, no instrumentation.
46 kAlternativeHandlerTable = 1, // Alternative handler table: suspend check and/or instrumentation
115 // typical use for instrumentation is for profiling and debugging. Instrumentation may add stubs
133 kInstrumentNothing, // execute without instrumentation
134 kInstrumentWithInstrumentationStubs, // execute with instrumentation entry/exit stubs
140 // Add a listener to be notified of the masked together sent of instrumentation events. This
147 // Removes a listener possibly removing instrumentation stubs.
196 // Enable method tracing by installing instrumentation entry/exit stubs or interpreter.
204 // Disable method tracing by uninstalling instrumentation entr
[all...]
H A Dinstrumentation_test.cc17 #include "instrumentation.h"
32 namespace instrumentation { namespace in namespace:art
34 class TestInstrumentationListener FINAL : public instrumentation::InstrumentationListener {
154 instrumentation::Instrumentation* instr = Runtime::Current()->GetInstrumentation();
174 instrumentation::Instrumentation* instr = Runtime::Current()->GetInstrumentation();
178 ScopedSuspendAll ssa("Add instrumentation listener");
195 ScopedSuspendAll ssa("Remove instrumentation listener");
209 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
216 instrumentation
225 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
240 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
255 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
270 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
282 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
[all...]
H A Dquick_exception_handler.cc543 // Unwinds all instrumentation stack frame prior to catch handler or upcall.
590 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
592 instrumentation->PopMethodForUnwind(self_, is_deoptimization_);
H A Dinstrumentation.cc17 #include "instrumentation.h"
44 namespace instrumentation { namespace in namespace:art
55 explicit InstallStubsClassVisitor(Instrumentation* instrumentation) argument
56 : instrumentation_(instrumentation) {}
148 // class, all its static methods code will be set to the instrumentation entry point.
153 // Oat code should not be used. Don't install instrumentation stub and
154 // use interpreter for instrumentation.
167 // Places the instrumentation exit pc as the return PC for every quick frame. This also allows
169 // Since we may already have done this previously, we need to push new instrumentation frame before
170 // existing instrumentation frame
285 Instrumentation* instrumentation = reinterpret_cast<Instrumentation*>(arg); local
323 RestoreStackVisitor(Thread* thread_in, uintptr_t instrumentation_exit_pc, Instrumentation* instrumentation) argument
395 Instrumentation* instrumentation = reinterpret_cast<Instrumentation*>(arg); local
[all...]
H A Dthread.cc1612 tlsPtr_.instrumentation_stack = new std::deque<instrumentation::InstrumentationStackFrame>;
2587 // This is a real exception: let the instrumentation know about it.
2588 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
2589 if (instrumentation->HasExceptionCaughtListeners() &&
2594 instrumentation->ExceptionCaughtEvent(this, exception);
2596 // Does instrumentation need to deoptimize the stack?
2597 // Note: we do this *after* reporting the exception to instrumentation in case it
2883 for (instrumentation::InstrumentationStackFrame& frame : *GetInstrumentationStack()) {
H A Ddebugger.cc59 // The key identifying the debugger to update instrumentation.
137 class DebugInstrumentationListener FINAL : public instrumentation::InstrumentationListener {
150 // We also listen to kDexPcMoved instrumentation event so we know the DexPcMoved method is
157 // We also listen to kMethodExited instrumentation event and the current instruction is a
197 // We also listen to kMethodExited instrumentation event and the current instruction is a
259 return IsListeningTo(instrumentation::Instrumentation::kDexPcMoved);
263 return IsListeningTo(instrumentation::Instrumentation::kMethodExited);
266 static bool IsListeningTo(instrumentation::Instrumentation::InstrumentationEvent event)
575 explicit UpdateEntryPointsClassVisitor(instrumentation::Instrumentation* instrumentation) argument
3106 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
3283 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
3456 instrumentation::Instrumentation* const instrumentation = member in class:art::instrumentation
3494 instrumentation::Instrumentation* const instrumentation = member in class:art::instrumentation
3531 instrumentation::Instrumentation* const instrumentation = member in class:art::instrumentation
[all...]
/art/runtime/interpreter/
H A Dinterpreter.cc279 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
282 if (UNLIKELY(instrumentation->HasMethodEntryListeners())) {
283 instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_),
326 // Mterp does not support all instrumentation/debugging.
538 // the instrumentation. To prevent from reporting it a second time, we simply pass a
540 const instrumentation::Instrumentation* const instrumentation = member in class:art::interpreter::instrumentation
543 instrumentation);
H A Dinterpreter_goto_table_impl.cc69 if (UNLIKELY(instrumentation->HasBranchListeners())) { \
70 instrumentation->Branch(self, method, dex_pc, offset); \
116 * In order to limit the cost of instrumentation, we have two handler tables:
118 * handling of instrumentation.
120 * instrumentation before jumping to the corresponding "normal" instruction's handler.
122 * When instrumentation is active, the interpreter uses the "alternative" handler table. Otherwise
162 // manage instrumentation before jumping to the execution handler.
163 static const void* const handlersTable[instrumentation::kNumHandlerTables][kNumPackedOpcodes] = {
195 const auto* const instrumentation = Runtime::Current()->GetInstrumentation(); local
289 if (UNLIKELY(instrumentation
[all...]
H A Dinterpreter_switch_impl.cc34 instrumentation); \
66 if (UNLIKELY(instrumentation->HasDexPcListeners())) { \
67 instrumentation->DexPcMovedEvent(self, shadow_frame.GetThisObject(code_item->ins_size_), \
74 if (UNLIKELY(instrumentation->HasBranchListeners())) { \
75 instrumentation->Branch(self, method, dex_pc, offset); \
111 const auto* const instrumentation = Runtime::Current()->GetInstrumentation(); local
215 if (UNLIKELY(instrumentation->HasMethodExitListeners())) {
216 instrumentation->MethodExitEvent(self, shadow_frame.GetThisObject(code_item->ins_size_),
232 if (UNLIKELY(instrumentation->HasMethodExitListeners())) {
233 instrumentation
[all...]
H A Dinterpreter_common.cc62 // Report this field access to instrumentation if needed.
63 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
64 if (UNLIKELY(instrumentation->HasFieldReadListeners())) {
66 instrumentation->FieldReadEvent(self, this_object, shadow_frame.GetMethod(),
143 // Report this field access to instrumentation if needed. Since we only have the offset of
145 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
146 if (UNLIKELY(instrumentation->HasFieldReadListeners())) {
151 instrumentation
260 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
364 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
425 FindNextInstructionFollowingException( Thread* self, ShadowFrame& shadow_frame, uint32_t dex_pc, const instrumentation::Instrumentation* instrumentation) argument
[all...]
H A Dinterpreter_common.h654 // TODO: Remove the InvokeVirtualOrInterface instrumentation, as it was only used by the JIT.
656 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
657 if (UNLIKELY(instrumentation->HasInvokeVirtualOrInterfaceListeners())) {
658 instrumentation->InvokeVirtualOrInterface(
700 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
701 // TODO: Remove the InvokeVirtualOrInterface instrumentation, as it was only used by the JIT.
702 if (UNLIKELY(instrumentation->HasInvokeVirtualOrInterfaceListeners())) {
703 instrumentation
[all...]
/art/runtime/interpreter/mterp/
H A Dmterp.cc147 const instrumentation::Instrumentation* const instrumentation = member in class:art::interpreter::instrumentation
149 return instrumentation->NonJitProfilingActive() || Dbg::IsDebuggerActive();
420 const instrumentation::Instrumentation* const instrumentation = member in class:art::interpreter::instrumentation
424 instrumentation);
644 * to the full instrumentation via MterpAddHotnessBatch. Called once on entry to the method,
682 * Report a batch of hotness events to the instrumentation and then return the new
/art/runtime/jit/
H A Djit.cc259 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
260 if (instrumentation->AreAllMethodsDeoptimized() || instrumentation->IsDeoptimized(method)) {
/art/runtime/gc/
H A Dheap.cc624 instrumentation::Instrumentation* const instrumentation = runtime->GetInstrumentation(); member in class:art::gc::instrumentation
629 instrumentation->InstrumentQuickAllocEntryPoints();
1679 instrumentation::Instrumentation* const instrumentation = member in class:art::gc::instrumentation
1681 return instrumentation != nullptr && instrumentation->AllocEntrypointsInstrumented();

Completed in 212 milliseconds