summaryrefslogtreecommitdiff
path: root/runtime/openjdkjvmti/ti_thread.h
diff options
context:
space:
mode:
author Alex Light <allight@google.com> 2017-07-25 14:05:52 -0700
committer Alex Light <allight@google.com> 2017-07-26 17:10:00 -0700
commitbebd7bd02a073056851cc1b0942c53ce0d2ee206 (patch)
treec2af3c94c89a2dcee1dd742d9f8806af8025df06 /runtime/openjdkjvmti/ti_thread.h
parentce68cc6023ef929578bcff250dff150edd0ca5e9 (diff)
JVMTI set & get local variables
Basic implementation of the JVMTI can_access_local_variables capability. This implements the functions and behaviors required for this capability. Currently enabling this capability immediately forces all threads to use the interpreter exclusively. This behavior should be removed eventually. Tests follow in next CL. Test: ./test.py --host -j50 Bug: 34414073 Bug: 36892980 Change-Id: I11a4d3cb2b945955cca270efdee2fbfd2601e0ba
Diffstat (limited to 'runtime/openjdkjvmti/ti_thread.h')
-rw-r--r--runtime/openjdkjvmti/ti_thread.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/openjdkjvmti/ti_thread.h b/runtime/openjdkjvmti/ti_thread.h
index 0f7e8379fd..083bf8d7a5 100644
--- a/runtime/openjdkjvmti/ti_thread.h
+++ b/runtime/openjdkjvmti/ti_thread.h
@@ -35,10 +35,12 @@
#include "jni.h"
#include "jvmti.h"
+#include "base/macros.h"
#include "base/mutex.h"
namespace art {
class ArtField;
+class ScopedObjectAccessAlreadyRunnable;
class Thread;
} // namespace art
@@ -86,6 +88,10 @@ class ThreadUtil {
const jthread* threads,
jvmtiError* results);
+ static art::Thread* GetNativeThread(jthread thread,
+ const art::ScopedObjectAccessAlreadyRunnable& soa)
+ REQUIRES_SHARED(art::Locks::mutator_lock_);
+
private:
// We need to make sure only one thread tries to suspend threads at a time so we can get the
// 'suspend-only-once' behavior the spec requires. Internally, ART considers suspension to be a