From 9d2d6e14b0932b6a74e01f393d5efed61458941b Mon Sep 17 00:00:00 2001 From: Bob Lee Date: Thu, 13 Aug 2009 14:41:54 -0700 Subject: Simplified algorithm used to generate the preloaded-classes list. Generated a new preloaded-classes file. --- tools/preload/LoadedClass.java | 51 ++++++++++++------------------------------ 1 file changed, 14 insertions(+), 37 deletions(-) (limited to 'tools/preload/LoadedClass.java') diff --git a/tools/preload/LoadedClass.java b/tools/preload/LoadedClass.java index 9ef17f5643f5..86e5dfc0331a 100644 --- a/tools/preload/LoadedClass.java +++ b/tools/preload/LoadedClass.java @@ -51,7 +51,7 @@ class LoadedClass implements Serializable, Comparable { } void measureMemoryUsage() { -// this.memoryUsage = MemoryUsage.forClass(name); + this.memoryUsage = MemoryUsage.forClass(name); } int mlt = -1; @@ -76,6 +76,10 @@ class LoadedClass implements Serializable, Comparable { return mit = calculateMedian(initializations); } + int medianTimeMicros() { + return medianInitTimeMicros() + medianLoadTimeMicros(); + } + /** Calculates the median duration for a list of operations. */ private static int calculateMedian(List operations) { int size = operations.size(); @@ -99,18 +103,18 @@ class LoadedClass implements Serializable, Comparable { } } - /** Returns names of apps that loaded this class. */ - Set applicationNames() { - Set appNames = new HashSet(); - addProcessNames(loads, appNames); - addProcessNames(initializations, appNames); - return appNames; + /** Returns names of processes that loaded this class. */ + Set processNames() { + Set names = new HashSet(); + addProcessNames(loads, names); + addProcessNames(initializations, names); + return names; } - private void addProcessNames(List ops, Set appNames) { + private void addProcessNames(List ops, Set names) { for (Operation operation : ops) { - if (operation.process.isApplication()) { - appNames.add(operation.process.name); + if (operation.process.fromZygote()) { + names.add(operation.process.name); } } } @@ -123,31 +127,4 @@ class LoadedClass implements Serializable, Comparable { public String toString() { return name; } - - /** - * Returns true if this class's initialization causes the given class to - * initialize. - */ - public boolean initializes(LoadedClass clazz, Set visited) { - // Avoid infinite recursion. - if (!visited.add(this)) { - return false; - } - - if (clazz == this) { - return true; - } - - for (Operation initialization : initializations) { - if (initialization.loadedClass.initializes(clazz, visited)) { - return true; - } - } - - return false; - } - - public boolean isPreloadable() { - return systemClass && Policy.isPreloadableClass(name); - } } -- cgit v1.2.3-59-g8ed1b