diff options
Diffstat (limited to 'tools/preload/LoadedClass.java')
| -rw-r--r-- | tools/preload/LoadedClass.java | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/tools/preload/LoadedClass.java b/tools/preload/LoadedClass.java index 86e5dfc..02cff10 100644 --- a/tools/preload/LoadedClass.java +++ b/tools/preload/LoadedClass.java @@ -15,7 +15,11 @@ */ import java.io.Serializable; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * A loaded class. @@ -50,6 +54,30 @@ class LoadedClass implements Serializable, Comparable<LoadedClass> { this.systemClass = systemClass; } + /** + * Returns true if this class was loaded by more than one proc. + */ + boolean isSharable() { + Set<String> procNames = new HashSet<String>(); + for (Operation load : loads) { + if (load.process.fromZygote()) { + procNames.add(load.process.name); + if (procNames.size() > 1) { + return true; + } + } + } + for (Operation init : initializations) { + if (init.process.fromZygote()) { + procNames.add(init.process.name); + if (procNames.size() > 1) { + return true; + } + } + } + return false; + } + void measureMemoryUsage() { this.memoryUsage = MemoryUsage.forClass(name); } |
