diff options
author | 2023-01-12 15:16:52 +0000 | |
---|---|---|
committer | 2023-01-13 09:10:15 +0000 | |
commit | b69a3ebf5a4a4ef8ae25db170fce9e25844a2f1b (patch) | |
tree | 3c8b7aeb5f6105f1e244e0ee8dab5e0406666758 | |
parent | 44ea676fc7738d6c1763f66600c5a2d90afa8af8 (diff) |
Revert "Limited deopt request from jvmti should enable entry / exit hooks"
This reverts commit 1725f649ec7f8995cded711baa03e000a9c9dfc2.
Reason for revert: Breaks arm bots: https://ci.chromium.org/ui/p/art/builders/ci/angler-armv8-non-gen-cc/2566/overview
Change-Id: Ia4f961736542920499c5315d1b9363c188174293
-rw-r--r-- | openjdkjvmti/deopt_manager.cc | 9 | ||||
-rw-r--r-- | runtime/instrumentation.cc | 5 | ||||
-rw-r--r-- | runtime/instrumentation.h | 5 |
3 files changed, 0 insertions, 19 deletions
diff --git a/openjdkjvmti/deopt_manager.cc b/openjdkjvmti/deopt_manager.cc index 99acb87257..129aa0ff4a 100644 --- a/openjdkjvmti/deopt_manager.cc +++ b/openjdkjvmti/deopt_manager.cc @@ -496,15 +496,6 @@ void DeoptManager::AddDeoptimizationRequester() { art::ScopedThreadStateChange stsc(self, art::ThreadState::kSuspended); deoptimization_status_lock_.ExclusiveLock(self); deopter_count_++; - if (deopter_count_ == 1) { - // When we add a deoptimization requester, we should enable entry / exit hooks. We only call - // this in debuggable runtimes and hence it won't be necessary to update entrypoints but we - // still need to inform instrumentation that we need to actually run entry / exit hooks. Though - // entrypoints are capable of running entry / exit hooks they won't run them unless enabled. - ScopedDeoptimizationContext sdc(self, this); - art::Runtime::Current()->GetInstrumentation()->EnableEntryExitHooks(kInstrumentationKey); - return; - } deoptimization_status_lock_.ExclusiveUnlock(self); } diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc index 87630c12a7..0863ddf68a 100644 --- a/runtime/instrumentation.cc +++ b/runtime/instrumentation.cc @@ -887,11 +887,6 @@ void Instrumentation::UpdateInstrumentationLevel(InstrumentationLevel requested_ instrumentation_level_ = requested_level; } -void Instrumentation::EnableEntryExitHooks(const char* key) { - DCHECK(Runtime::Current()->IsJavaDebuggable()); - ConfigureStubs(key, InstrumentationLevel::kInstrumentWithInstrumentationStubs); -} - void Instrumentation::MaybeRestoreInstrumentationStack() { // Restore stack only if there is no method currently deoptimized. if (!IsDeoptimizedMethodsEmpty()) { diff --git a/runtime/instrumentation.h b/runtime/instrumentation.h index f7e8aee499..aecad1f6e6 100644 --- a/runtime/instrumentation.h +++ b/runtime/instrumentation.h @@ -243,11 +243,6 @@ class Instrumentation { void DisableDeoptimization(const char* key) REQUIRES(Locks::mutator_lock_, Roles::uninterruptible_); - // Enables entry exit hooks support. This is called in preparation for debug requests that require - // calling method entry / exit hooks. - void EnableEntryExitHooks(const char* key) - REQUIRES(Locks::mutator_lock_, Roles::uninterruptible_); - bool AreAllMethodsDeoptimized() const { return InterpreterStubsInstalled(); } |