Searched refs:instrumentation (Results 1 - 25 of 29) sorted by relevance

12

/art/runtime/
H A Dinstrumentation_test.cc17 #include "instrumentation.h"
37 namespace instrumentation { namespace in namespace:art
39 class TestInstrumentationListener FINAL : public instrumentation::InstrumentationListener {
205 instrumentation::Instrumentation* instr = Runtime::Current()->GetInstrumentation();
232 instrumentation::Instrumentation* instr = Runtime::Current()->GetInstrumentation();
236 ScopedSuspendAll ssa("Add instrumentation listener");
260 ScopedSuspendAll ssa("Remove instrumentation listener");
281 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
288 instrumentation
297 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
312 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
327 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
342 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
354 instrumentation::Instrumentation* instrumentation = runtime->GetInstrumentation(); local
[all...]
H A Dcommon_dex_operations.h29 #include "instrumentation.h"
96 // Report this field access to instrumentation if needed.
97 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
98 if (UNLIKELY(instrumentation->HasFieldReadListeners())) {
106 instrumentation->FieldReadEvent(self,
154 // Report this field access to instrumentation if needed. Since we only have the offset of
156 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
157 if (UNLIKELY(instrumentation
[all...]
H A Dtrace.cc40 #include "instrumentation.h"
101 // The key identifying the tracer to update instrumentation.
259 LogMethodTraceEvent(thread, *rit, instrumentation::Instrumentation::kMethodEntered,
274 LogMethodTraceEvent(thread, *old_it, instrumentation::Instrumentation::kMethodExited,
279 LogMethodTraceEvent(thread, *rit, instrumentation::Instrumentation::kMethodEntered,
384 instrumentation::Instrumentation::kMethodEntered |
385 instrumentation::Instrumentation::kMethodExited |
386 instrumentation::Instrumentation::kMethodUnwind);
439 the_trace, instrumentation::Instrumentation::kMethodEntered |
440 instrumentation
[all...]
H A Dinstrumentation.cc17 #include "instrumentation.h"
50 namespace instrumentation { namespace in namespace:art
85 explicit InstallStubsClassVisitor(Instrumentation* instrumentation) argument
86 : instrumentation_(instrumentation) {}
184 // class, all its static methods code will be set to the instrumentation entry point.
188 // Oat code should not be used. Don't install instrumentation stub and
189 // use interpreter for instrumentation.
204 // Places the instrumentation exit pc as the return PC for every quick frame. This also allows
206 // Since we may already have done this previously, we need to push new instrumentation frame before
207 // existing instrumentation frame
338 Instrumentation* instrumentation = reinterpret_cast<Instrumentation*>(arg); local
376 RestoreStackVisitor(Thread* thread_in, uintptr_t instrumentation_exit_pc, Instrumentation* instrumentation) argument
449 Instrumentation* instrumentation = reinterpret_cast<Instrumentation*>(arg); local
[all...]
H A Dtrace.h34 #include "instrumentation.h"
97 class Trace FINAL : public instrumentation::InstrumentationListener {
234 instrumentation::Instrumentation::InstrumentationEvent event,
H A Ddebugger.cc77 // The key identifying the debugger to update instrumentation.
141 class DebugInstrumentationListener FINAL : public instrumentation::InstrumentationListener {
156 // We also listen to kDexPcMoved instrumentation event so we know the DexPcMoved method is
163 // We also listen to kMethodExited instrumentation event and the current instruction is a
210 // We also listen to kMethodExited instrumentation event and the current instruction is a
288 return IsListeningTo(instrumentation::Instrumentation::kDexPcMoved);
292 return IsListeningTo(instrumentation::Instrumentation::kMethodExited);
295 static bool IsListeningTo(instrumentation::Instrumentation::InstrumentationEvent event)
2944 // local variable(s). To achieve this, we install instrumentation exit stub on each method of the
3215 case instrumentation
3234 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
3411 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
3586 instrumentation::Instrumentation* const instrumentation = member in class:art::instrumentation
3624 instrumentation::Instrumentation* const instrumentation = member in class:art::instrumentation
3661 instrumentation::Instrumentation* const instrumentation = member in class:art::instrumentation
[all...]
H A Dquick_exception_handler.cc566 // At this point, the instrumentation stack has been updated. We need to install
567 // the real return pc on stack, in case instrumentation stub is stored there,
585 // Unwinds all instrumentation stack frame prior to catch handler or upcall.
633 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
635 return_pc = instrumentation->PopMethodForUnwind(self_, is_deoptimization_);
H A Djni_internal.cc99 // Helpers to call instrumentation functions for fields. These take jobjects so we don't need to set
101 // possible there will be a pending exception if the instrumentation happens to throw one.
105 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
106 if (UNLIKELY(instrumentation->HasFieldWriteListeners())) {
120 instrumentation->FieldWriteEvent(self,
132 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
133 if (UNLIKELY(instrumentation->HasFieldWriteListeners())) {
145 instrumentation
156 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
[all...]
H A Druntime.h37 #include "instrumentation.h"
455 const instrumentation::Instrumentation* GetInstrumentation() const {
459 instrumentation::Instrumentation* GetInstrumentation() {
619 // Create the JIT and instrumentation and code cache.
934 instrumentation::Instrumentation instrumentation_;
H A Dstack.cc739 // called either directly or through some (resolution, instrumentation) trampoline.
874 const instrumentation::InstrumentationStackFrame& instrumentation_frame =
897 size_t frame_id = instrumentation::Instrumentation::ComputeFrameId(
H A Dinstrumentation.h45 namespace instrumentation { namespace in namespace:art
49 kMainHandlerTable = 0, // Main handler table: no suspend check, no instrumentation.
50 kAlternativeHandlerTable = 1, // Alternative handler table: suspend check and/or instrumentation
154 // either return or exceptions. Normally instrumentation listeners should ensure that there are
162 // typical use for instrumentation is for profiling and debugging. Instrumentation may add stubs
182 kInstrumentNothing, // execute without instrumentation
183 kInstrumentWithInstrumentationStubs, // execute with instrumentation entry/exit stubs
189 // Add a listener to be notified of the masked together sent of instrumentation events. This
196 // Removes a listener possibly removing instrumentation stubs.
249 // Enable method tracing by installing instrumentation entr
[all...]
H A Druntime.cc91 #include "instrumentation.h"
405 // accessing the instrumentation when we delete it.
2588 explicit UpdateEntryPointsClassVisitor(instrumentation::Instrumentation* instrumentation) argument
2589 : instrumentation_(instrumentation) {}
2605 instrumentation::Instrumentation* const instrumentation_;
/art/openjdkjvmti/
H A Ddeopt_manager.cc204 auto instrumentation = art::Runtime::Current()->GetInstrumentation(); local
205 if (instrumentation->IsForcedInterpretOnly()) {
240 auto instrumentation = art::Runtime::Current()->GetInstrumentation(); local
241 if (UNLIKELY(instrumentation->IsForcedInterpretOnly())) {
H A Devents.cc46 #include "instrumentation.h"
478 class JvmtiMethodTraceListener FINAL : public art::instrumentation::InstrumentationListener {
785 // The instrumentation events get rid of this for us.
861 return art::instrumentation::Instrumentation::kMethodEntered;
863 return art::instrumentation::Instrumentation::kMethodExited |
864 art::instrumentation::Instrumentation::kMethodUnwind;
866 return art::instrumentation::Instrumentation::kFieldWritten;
868 return art::instrumentation::Instrumentation::kFieldRead;
871 return art::instrumentation::Instrumentation::kDexPcMoved;
873 return art::instrumentation
[all...]
/art/runtime/interpreter/
H A Dinterpreter_common.cc162 // Report this field access to instrumentation if needed. Since we only have the offset of
164 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
165 if (UNLIKELY(instrumentation->HasFieldReadListeners())) {
172 // Save obj in case the instrumentation event has thread suspension.
174 instrumentation->FieldReadEvent(self,
346 // Report this field modification to instrumentation if needed. Since we only have the offset of
348 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
349 if (UNLIKELY(instrumentation
429 MoveToExceptionHandler(Thread* self, ShadowFrame& shadow_frame, const instrumentation::Instrumentation* instrumentation) argument
[all...]
H A Dinterpreter_common.h124 // mterp. Access checks and instrumentation other than jit profiling are not supported, but does
198 // TODO: Remove the InvokeVirtualOrInterface instrumentation, as it was only used by the JIT.
200 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
201 if (UNLIKELY(instrumentation->HasInvokeVirtualOrInterfaceListeners())) {
202 instrumentation->InvokeVirtualOrInterface(
287 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
288 // TODO: Remove the InvokeVirtualOrInterface instrumentation, as it was only used by the JIT.
289 if (UNLIKELY(instrumentation
[all...]
H A Dinterpreter.cc253 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
256 if (UNLIKELY(instrumentation->HasMethodEntryListeners())) {
257 instrumentation->MethodEnterEvent(self,
262 instrumentation->MethodUnwindEvent(self,
314 // Mterp does not support all instrumentation/debugging.
507 // the instrumentation. To prevent from reporting it a second time, we simply pass a
509 const instrumentation::Instrumentation* const instrumentation = member in class:art::interpreter::instrumentation
512 self, *shadow_frame, instrumentation)
[all...]
H A Dinterpreter_switch_impl.cc51 #define HANDLE_PENDING_EXCEPTION() HANDLE_PENDING_EXCEPTION_WITH_INSTRUMENTATION(instrumentation)
70 if (UNLIKELY(instrumentation->HasDexPcListeners()) && \
75 instrumentation, \
87 if (UNLIKELY(instrumentation->HasBranchListeners())) { \
88 instrumentation->Branch(self, shadow_frame.GetMethod(), dex_pc, offset); \
138 const instrumentation::Instrumentation* instrumentation,
141 DCHECK(instrumentation->HasDexPcListeners());
148 instrumentation->DexPcMovedEvent(self,
166 static bool NeedsMethodExitEvent(const instrumentation
213 const auto* const instrumentation = Runtime::Current()->GetInstrumentation(); local
[all...]
/art/runtime/interpreter/mterp/
H A Dmterp.cc151 const instrumentation::Instrumentation* const instrumentation = runtime->GetInstrumentation(); member in class:art::interpreter::instrumentation
152 return instrumentation->NonJitProfilingActive() ||
573 const instrumentation::Instrumentation* const instrumentation = member in class:art::interpreter::instrumentation
575 return MoveToExceptionHandler(self, *shadow_frame, instrumentation);
970 * to the full instrumentation via MterpAddHotnessBatch. Called once on entry to the method,
1010 * Report a batch of hotness events to the instrumentation and then return the new
/art/runtime/jdwp/
H A Djdwp_event.cc158 // Returns the instrumentation event the DebugInstrumentationListener must
164 return instrumentation::Instrumentation::kDexPcMoved;
167 return instrumentation::Instrumentation::kExceptionThrown;
169 return instrumentation::Instrumentation::kMethodEntered;
172 return instrumentation::Instrumentation::kMethodExited;
174 return instrumentation::Instrumentation::kFieldRead;
176 return instrumentation::Instrumentation::kFieldWritten;
/art/runtime/jit/
H A Djit.cc288 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
289 if (instrumentation->AreAllMethodsDeoptimized() || instrumentation->IsDeoptimized(method)) {
H A Djit_code_cache.cc789 // We need to update the entry point in the runnable state for the instrumentation.
832 instrumentation::Instrumentation* instrum = Runtime::Current()->GetInstrumentation();
1114 // The stack walking code queries the side instrumentation stack if it
1115 // sees an instrumentation exit pc, so the JIT code of methods in that stack
1117 for (const instrumentation::InstrumentationStackFrame& frame
1278 // the class unsafe. We know it is OK to bypass the instrumentation as we've just
1726 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
1730 instrumentation->UpdateNativeMethodsCodeToJitCode(m, entrypoint);
/art/runtime/entrypoints/quick/
H A Dquick_trampoline_entrypoints.cc34 #include "instrumentation.h"
836 // If caller_pc is the instrumentation exit stub, the stub will check to see if deoptimization
1116 instrumentation::Instrumentation* instrumentation = Runtime::Current()->GetInstrumentation(); local
1117 if (instrumentation->IsDeoptimized(method)) {
1120 result = instrumentation->GetQuickCodeFor(method, kRuntimePointerSize);
1134 instrumentation->PushInstrumentationStackFrame(self,
1157 CHECK(!self->IsExceptionPending()) << "Enter instrumentation exit stub with pending exception "
1170 instrumentation::Instrumentation* instrumentation local
[all...]
/art/test/common/
H A Druntime_state.cc25 #include "instrumentation.h"
48 instrumentation::Instrumentation::InstrumentationLevel::kInstrumentWithInterpreter;
/art/runtime/gc/
H A Dheap.cc626 instrumentation::Instrumentation* const instrumentation = runtime->GetInstrumentation(); member in class:art::gc::instrumentation
631 instrumentation->InstrumentQuickAllocEntryPoints();
1566 instrumentation::Instrumentation* const instrumentation = member in class:art::gc::instrumentation
1568 return instrumentation != nullptr && instrumentation->AllocEntrypointsInstrumented();

Completed in 825 milliseconds

12