am 3394db7d: Merge "Regenerate preloaded classes for Gingerbread." into gingerbread

Merge commit '3394db7d9432053e56d86b3f24e64deeb3099950' into gingerbread-plus-aosp

* commit '3394db7d9432053e56d86b3f24e64deeb3099950':
  Regenerate preloaded classes for Gingerbread.
This commit is contained in:
Jesse Wilson
2010-10-13 17:02:48 -07:00
committed by Android Git Automerger
3 changed files with 953 additions and 366 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -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);
}
}

View File

@@ -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