protected int allocationDepth;
protected Vector<Integer> ithOldest;
protected Integer summary;
- protected TypeDescriptor type;
+ protected FlatNew flatNew;
public static final int AGE_notInThisSite = 100;
public static final int AGE_in_I = 101;
public static final int SHADOWAGE_summary = -103;
- public AllocationSite(int allocationDepth, TypeDescriptor type) {
+ public AllocationSite(int allocationDepth, FlatNew flatNew) {
assert allocationDepth >= 1;
this.allocationDepth = allocationDepth;
- this.type = type;
+ this.flatNew = flatNew;
ithOldest = new Vector<Integer>(allocationDepth);
id = generateUniqueAllocationSiteID();
return -summary;
}
+ public FlatNew getFlatNew() {
+ return flatNew;
+ }
+
public TypeDescriptor getType() {
- return type;
+ return flatNew.getType();
}
public int getAgeCategory(Integer id) {
}
public String toStringVerbose() {
- return "allocSite" + id + " "+type.toPrettyString();
+ return "allocSite" + id + " "+flatNew.getType().toPrettyString();
}
}
AllocationSite as = (AllocationSite) allocItr.next();
if( createsPotentialAliases(td, i, as) ) {
foundSomeAlias = true;
- bw.write("Potential alias between parameter "+i+" and "+as+".\n");
+ bw.write("Potential alias between parameter "+i+" and "+as.getFlatNew()+".\n");
}
}
}
if( !outerChecked.contains(as2) &&
createsPotentialAliases(td, as1, as2) ) {
foundSomeAlias = true;
- bw.write("Potential alias between "+as1+" and "+as2+".\n");
+ bw.write("Potential alias between "+as1.getFlatNew()+" and "+as2.getFlatNew()+".\n");
}
}
private AllocationSite getAllocationSiteFromFlatNewPRIVATE(FlatNew fn) {
if( !mapFlatNewToAllocationSite.containsKey(fn) ) {
- AllocationSite as = new AllocationSite(allocationDepth, fn.getType() );
+ AllocationSite as = new AllocationSite(allocationDepth, fn );
// the newest nodes are single objects
for( int i = 0; i < allocationDepth; ++i ) {
readSourceFile(state, ClassLibraryPrefix+"gnu/Random.java");
readSourceFile(state, ClassLibraryPrefix+"Vector.java");
readSourceFile(state, ClassLibraryPrefix+"Enumeration.java");
+ readSourceFile(state, ClassLibraryPrefix+"Dictionary.java");
+ readSourceFile(state, ClassLibraryPrefix+"Writer.java");
+ readSourceFile(state, ClassLibraryPrefix+"BufferedWriter.java");
+ readSourceFile(state, ClassLibraryPrefix+"OutputStreamWriter.java");
+ readSourceFile(state, ClassLibraryPrefix+"FileWriter.java");
+ readSourceFile(state, ClassLibraryPrefix+"Date.java");
if (state.TASK) {
readSourceFile(state, ClassLibraryPrefix+"Object.java");