diff options
-rw-r--r-- | runtime/entrypoints/quick/quick_deoptimization_entrypoints.cc | 12 | ||||
-rw-r--r-- | runtime/quick_exception_handler.cc | 5 |
2 files changed, 9 insertions, 8 deletions
diff --git a/runtime/entrypoints/quick/quick_deoptimization_entrypoints.cc b/runtime/entrypoints/quick/quick_deoptimization_entrypoints.cc index 2431bce059..d06dbcb12a 100644 --- a/runtime/entrypoints/quick/quick_deoptimization_entrypoints.cc +++ b/runtime/entrypoints/quick/quick_deoptimization_entrypoints.cc @@ -16,7 +16,6 @@ #include "base/logging.h" // For VLOG_IS_ON. #include "base/mutex.h" -#include "base/systrace.h" #include "callee_save_frame.h" #include "interpreter/interpreter.h" #include "obj_ptr-inl.h" // TODO: Find the other include that isn't complete, and clean this up. @@ -41,13 +40,10 @@ NO_RETURN static void artDeoptimizeImpl(Thread* self, DeoptimizationKind kind, b self->AssertHasDeoptimizationContext(); QuickExceptionHandler exception_handler(self, true); - { - ScopedTrace trace(std::string("Deoptimization ") + GetDeoptimizationKindName(kind)); - if (single_frame) { - exception_handler.DeoptimizeSingleFrame(kind); - } else { - exception_handler.DeoptimizeStack(); - } + if (single_frame) { + exception_handler.DeoptimizeSingleFrame(kind); + } else { + exception_handler.DeoptimizeStack(); } uintptr_t return_pc = exception_handler.UpdateInstrumentationStack(); if (exception_handler.IsFullFragmentDone()) { diff --git a/runtime/quick_exception_handler.cc b/runtime/quick_exception_handler.cc index 0d570c39ae..3bc718b058 100644 --- a/runtime/quick_exception_handler.cc +++ b/runtime/quick_exception_handler.cc @@ -20,6 +20,7 @@ #include "art_method-inl.h" #include "base/enums.h" #include "base/logging.h" // For VLOG_IS_ON. +#include "base/systrace.h" #include "dex/dex_file_types.h" #include "dex/dex_instruction.h" #include "entrypoints/entrypoint_utils.h" @@ -592,6 +593,10 @@ void QuickExceptionHandler::DeoptimizeSingleFrame(DeoptimizationKind kind) { // Compiled code made an explicit deoptimization. ArtMethod* deopt_method = visitor.GetSingleFrameDeoptMethod(); + SCOPED_TRACE << "Deoptimizing " + << deopt_method->PrettyMethod() + << ": " << GetDeoptimizationKindName(kind); + DCHECK(deopt_method != nullptr); if (VLOG_IS_ON(deopt) || kDebugExceptionDelivery) { LOG(INFO) << "Single-frame deopting: " |