From 1b35b469e0e8a70d9fd3f6c22d7e828b044c0df8 Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Fri, 29 Sep 2017 18:52:15 -0700 Subject: ART: Add allocation tracking to JNI global refs Add allocation tracking to global references. When the reference table's free capacity falls under an adjustable value, enable tracking so as to help tracking down possibly-leaky allocations. Bug: 67044702 Test: m test-art-host Change-Id: Ic17d6ebbad895b54c5ac63558027e04aef2b14c1 --- runtime/java_vm_ext.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'runtime/java_vm_ext.h') diff --git a/runtime/java_vm_ext.h b/runtime/java_vm_ext.h index b767b199f0..0510d6ab75 100644 --- a/runtime/java_vm_ext.h +++ b/runtime/java_vm_ext.h @@ -211,6 +211,8 @@ class JavaVMExt : public JavaVM { REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(Locks::jni_weak_globals_lock_); + void CheckGlobalRefAllocationTracking(); + Runtime* const runtime_; // Used for testing. By default, we'll LOG(FATAL) the reason. @@ -247,6 +249,10 @@ class JavaVMExt : public JavaVM { // TODO Maybe move this to Runtime. std::vector env_hooks_; + size_t enable_allocation_tracking_delta_; + std::atomic allocation_tracking_enabled_; + std::atomic old_allocation_tracking_state_; + DISALLOW_COPY_AND_ASSIGN(JavaVMExt); }; -- cgit v1.2.3-59-g8ed1b