summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorJesse Wilson <jessewilson@google.com>2010-10-13 17:02:48 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-13 17:02:48 -0700
commit8b1082bba91c085baf523212d85f3bfbb6ee9cea (patch)
tree09d564ab2bfe8888b17d1fe0ed0cb2d37d77c66e /tools
parenta905d9551103c5be465429ffeb0352b78058457e (diff)
parent3394db7d9432053e56d86b3f24e64deeb3099950 (diff)
downloadframeworks_base-8b1082bba91c085baf523212d85f3bfbb6ee9cea.zip
frameworks_base-8b1082bba91c085baf523212d85f3bfbb6ee9cea.tar.gz
frameworks_base-8b1082bba91c085baf523212d85f3bfbb6ee9cea.tar.bz2
am 3394db7d: Merge "Regenerate preloaded classes for Gingerbread." into gingerbread
Merge commit '3394db7d9432053e56d86b3f24e64deeb3099950' into gingerbread-plus-aosp * commit '3394db7d9432053e56d86b3f24e64deeb3099950': Regenerate preloaded classes for Gingerbread.
Diffstat (limited to 'tools')
-rw-r--r--tools/preload/WritePreloadedClassFile.java13
-rw-r--r--tools/preload/loadclass/Android.mk1
2 files changed, 13 insertions, 1 deletions
diff --git a/tools/preload/WritePreloadedClassFile.java b/tools/preload/WritePreloadedClassFile.java
index 96c539b..b067bc2 100644
--- a/tools/preload/WritePreloadedClassFile.java
+++ b/tools/preload/WritePreloadedClassFile.java
@@ -34,6 +34,11 @@ public class WritePreloadedClassFile {
*/
static final int MIN_LOAD_TIME_MICROS = 1250;
+ /**
+ * Preload any class that was loaded by at least MIN_PROCESSES processes.
+ */
+ static final int MIN_PROCESSES = 10;
+
public static void main(String[] args) throws IOException,
ClassNotFoundException {
if (args.length != 1) {
@@ -58,6 +63,7 @@ public class WritePreloadedClassFile {
out.write("# Automatically generated by frameworks/base/tools/preload/"
+ WritePreloadedClassFile.class.getSimpleName() + ".java.\n");
out.write("# MIN_LOAD_TIME_MICROS=" + MIN_LOAD_TIME_MICROS + "\n");
+ out.write("# MIN_PROCESSES=" + MIN_PROCESSES + "\n");
/*
* The set of classes to preload. We preload a class if:
@@ -73,7 +79,12 @@ public class WritePreloadedClassFile {
// the memory associated with these classes will be shared.
for (LoadedClass loadedClass : root.loadedClasses.values()) {
Set<String> names = loadedClass.processNames();
- if (shouldPreload(loadedClass) && names.size() > 1) {
+ if (!Policy.isPreloadable(loadedClass)) {
+ continue;
+ }
+
+ if (names.size() >= MIN_PROCESSES ||
+ (loadedClass.medianTimeMicros() > MIN_LOAD_TIME_MICROS && names.size() > 1)) {
toPreload.add(loadedClass);
}
}
diff --git a/tools/preload/loadclass/Android.mk b/tools/preload/loadclass/Android.mk
index 435699d..65828be 100644
--- a/tools/preload/loadclass/Android.mk
+++ b/tools/preload/loadclass/Android.mk
@@ -2,6 +2,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files)
+LOCAL_MODULE_TAGS := tests
LOCAL_MODULE := loadclass