summaryrefslogtreecommitdiff
path: root/openjdkjvmti/ti_heap.h
diff options
context:
space:
mode:
Diffstat (limited to 'openjdkjvmti/ti_heap.h')
-rw-r--r--openjdkjvmti/ti_heap.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/openjdkjvmti/ti_heap.h b/openjdkjvmti/ti_heap.h
index 2e27cc7f35..ee8b4d6128 100644
--- a/openjdkjvmti/ti_heap.h
+++ b/openjdkjvmti/ti_heap.h
@@ -17,6 +17,8 @@
#ifndef ART_OPENJDKJVMTI_TI_HEAP_H_
#define ART_OPENJDKJVMTI_TI_HEAP_H_
+#include <unordered_map>
+
#include "jvmti.h"
#include "base/locks.h"
@@ -24,6 +26,7 @@
namespace art {
class Thread;
template<typename T> class ObjPtr;
+class HashObjPtr;
namespace mirror {
class Object;
} // namespace mirror
@@ -88,6 +91,13 @@ class HeapExtensions {
static jvmtiError JNICALL ChangeArraySize(jvmtiEnv* env, jobject arr, jsize new_size);
+ static void ReplaceReferences(
+ art::Thread* self,
+ const std::unordered_map<art::ObjPtr<art::mirror::Object>,
+ art::ObjPtr<art::mirror::Object>,
+ art::HashObjPtr>& refs)
+ REQUIRES(art::Locks::mutator_lock_, art::Roles::uninterruptible_);
+
static void ReplaceReference(art::Thread* self,
art::ObjPtr<art::mirror::Object> original,
art::ObjPtr<art::mirror::Object> replacement)