summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mythri Alle <mythria@google.com> 2023-01-12 15:16:52 +0000
committer Mythri Alle <mythria@google.com> 2023-01-13 09:10:15 +0000
commitb69a3ebf5a4a4ef8ae25db170fce9e25844a2f1b (patch)
tree3c8b7aeb5f6105f1e244e0ee8dab5e0406666758
parent44ea676fc7738d6c1763f66600c5a2d90afa8af8 (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.cc9
-rw-r--r--runtime/instrumentation.cc5
-rw-r--r--runtime/instrumentation.h5
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();
}