From 91c2f0cde2a009bd52aa1c3d1dee705cc02c932f Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Wed, 26 Nov 2014 11:21:15 -0800 Subject: Trim reference tables when we trim the heap Before: System server: virtual shared shared private private size RSS PSS clean dirty clean dirty # object 2200 300 229 0 80 0 220 77 /dev/ashmem/dalvik-indirect ref table (deleted) Location: 1896 128 102 0 28 0 100 39 /dev/ashmem/dalvik-indirect ref table (deleted) After: virtual shared shared private private size RSS PSS clean dirty clean dirty # object System server: 2216 64 64 0 0 0 64 79 /dev/ashmem/dalvik-indirect ref table (deleted) Location: 2120 48 48 0 0 0 48 67 /dev/ashmem/dalvik-indirect ref table (deleted) No pause time regression measured in memalloc test. (cherry picked from commit 84dc99d2fa67e5dff018685661cb2bff62132989) Change-Id: I80d9bd3b98e888fa8f77d03df69f8479ed209986 --- runtime/java_vm_ext.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'runtime/java_vm_ext.h') diff --git a/runtime/java_vm_ext.h b/runtime/java_vm_ext.h index 2957ba3fae..749b9fb6c0 100644 --- a/runtime/java_vm_ext.h +++ b/runtime/java_vm_ext.h @@ -131,6 +131,9 @@ class JavaVMExt : public JavaVM { return unchecked_functions_; } + void TrimGlobals() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) + LOCKS_EXCLUDED(globals_lock_); + private: Runtime* const runtime_; -- cgit v1.2.3-59-g8ed1b