From e3e2fe5ecc16184ba91018adb3bfbec1c5880c29 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 12 Oct 2015 11:20:24 +0000 Subject: [PATCH] Revert "Fix instrumentation frame check with inlining" Times out on some run-tests. Bug: 22519499 This reverts commit 3079e28b00accd19aa1153929fb00497d00956d9. Change-Id: I4c612a5af20e4481eb9865f90abd429f4a40ce57 --- runtime/instrumentation.cc | 9 --------- runtime/instrumentation.h | 5 ----- runtime/stack.cc | 17 ++++++----------- 3 files changed, 6 insertions(+), 25 deletions(-) diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc index 432119e78..deada4c5d 100644 --- a/runtime/instrumentation.cc +++ b/runtime/instrumentation.cc @@ -960,15 +960,6 @@ void Instrumentation::ExceptionCaughtEvent(Thread* thread, } } -// Computes a frame ID by ignoring inlined frames. -size_t Instrumentation::ComputeFrameId(Thread* self, - size_t frame_depth, - size_t inlined_frames_before_frame) { - CHECK_GT(frame_depth, inlined_frames_before_frame); - size_t no_inline_depth = frame_depth - inlined_frames_before_frame; - return StackVisitor::ComputeNumFrames(self, kInstrumentationStackWalk) - no_inline_depth; -} - static void CheckStackDepth(Thread* self, const InstrumentationStackFrame& instrumentation_frame, int delta) SHARED_REQUIRES(Locks::mutator_lock_) { diff --git a/runtime/instrumentation.h b/runtime/instrumentation.h index 8dd2357e0..612ca14cf 100644 --- a/runtime/instrumentation.h +++ b/runtime/instrumentation.h @@ -397,11 +397,6 @@ class Instrumentation { SHARED_REQUIRES(Locks::mutator_lock_) REQUIRES(!Locks::thread_list_lock_); - static size_t ComputeFrameId(Thread* self, - size_t frame_depth, - size_t inlined_frames_before_frame) - SHARED_REQUIRES(Locks::mutator_lock_); - private: InstrumentationLevel GetCurrentInstrumentationLevel() const; diff --git a/runtime/stack.cc b/runtime/stack.cc index 840c0cb3e..1d21a6494 100644 --- a/runtime/stack.cc +++ b/runtime/stack.cc @@ -891,7 +891,6 @@ void StackVisitor::WalkStack(bool include_transitions) { CHECK_EQ(cur_depth_, 0U); bool exit_stubs_installed = Runtime::Current()->GetInstrumentation()->AreExitStubsInstalled(); uint32_t instrumentation_stack_depth = 0; - size_t inlined_frames_count = 0; for (const ManagedStack* current_fragment = thread_->GetManagedStack(); current_fragment != nullptr; current_fragment = current_fragment->GetLink()) { @@ -923,7 +922,6 @@ void StackVisitor::WalkStack(bool include_transitions) { return; } cur_depth_++; - inlined_frames_count++; } } } @@ -954,19 +952,16 @@ void StackVisitor::WalkStack(bool include_transitions) { ArtMethod* callee = Runtime::Current()->GetCalleeSaveMethod(Runtime::kRefsAndArgs); CHECK_EQ(GetMethod(), callee) << "Expected: " << PrettyMethod(callee) << " Found: " << PrettyMethod(GetMethod()); - } else { - CHECK_EQ(instrumentation_frame.method_, GetMethod()) - << "Expected: " << PrettyMethod(instrumentation_frame.method_) - << " Found: " << PrettyMethod(GetMethod()); + } else if (instrumentation_frame.method_ != GetMethod()) { + LOG(FATAL) << "Expected: " << PrettyMethod(instrumentation_frame.method_) + << " Found: " << PrettyMethod(GetMethod()); } if (num_frames_ != 0) { // Check agreement of frame Ids only if num_frames_ is computed to avoid infinite // recursion. - size_t frame_id = instrumentation::Instrumentation::ComputeFrameId( - thread_, - cur_depth_, - inlined_frames_count); - CHECK_EQ(instrumentation_frame.frame_id_, frame_id); + CHECK(instrumentation_frame.frame_id_ == GetFrameId()) + << "Expected: " << instrumentation_frame.frame_id_ + << " Found: " << GetFrameId(); } return_pc = instrumentation_frame.return_pc_; } -- 2.11.0