protected AllocSite getAllocSiteFromFlatNewPRIVATE( FlatNew fnew ) {
if( !mapFlatNewToAllocSite.containsKey( fnew ) ) {
- AllocSite as =
- (AllocSite) Canonical.makeCanonical( new AllocSite( allocationDepth,
- fnew,
- fnew.getDisjointId()
- )
- );
+ AllocSite as = AllocSite.factory( allocationDepth,
+ fnew,
+ fnew.getDisjointId()
+ );
// the newest nodes are single objects
for( int i = 0; i < allocationDepth; ++i ) {
"param"+tempDesc // disjoint site ID string
);
// create allocation site
- AllocSite as = (AllocSite) Canonical.makeCanonical(new AllocSite( allocationDepth, flatNew, flatNew.getDisjointId()));
+ AllocSite as = AllocSite.factory( allocationDepth,
+ flatNew,
+ flatNew.getDisjointId()
+ );
for (int i = 0; i < allocationDepth; ++i) {
Integer id = generateUniqueHeapRegionNodeID();
as.setIthOldest(i, id);
rg.createNewHeapRegionNode(as.getSummary(), // id or null to generate a new one
false, // single object?
true, // summary?
- false, // flagged?
false, // out-of-context?
as.getType(), // type
as, // allocation site
rg.createNewHeapRegionNode(as.getSummary(), // id or null to generate a new one
false, // single object?
true, // summary?
- false, // flagged?
false, // out-of-context?
typeDesc, // type
as, // allocation site
rg.createNewHeapRegionNode(allocSite.getSummary(), // id or null to generate a new one
false, // single object?
true, // summary?
- false, // flagged?
false, // out-of-context?
allocSite.getType(), // type
allocSite, // allocation site
createNewHeapRegionNode( Integer id,
boolean isSingleObject,
boolean isNewSummary,
- boolean isFlagged,
boolean isOutOfContext,
TypeDescriptor type,
AllocSite allocSite,
String description
) {
- boolean markForAnalysis = isFlagged;
-
TypeDescriptor typeToUse = null;
if( allocSite != null ) {
typeToUse = allocSite.getType();
typeToUse = type;
}
- if( allocSite != null && allocSite.getDisjointAnalysisId() != null ) {
+ boolean markForAnalysis = false;
+ if( allocSite != null && allocSite.isFlagged() ) {
markForAnalysis = true;
}
-
-
+
if( allocSite == null ) {
assert !markForAnalysis;
- } else if( markForAnalysis != allocSite.getFlag() ) {
+ } else if( markForAnalysis != allocSite.isFlagged() ) {
assert false;
}
if( hrnSummary == null ) {
- boolean hasFlags = false;
- if( as.getType().isClass() ) {
- hasFlags = as.getType().getClassDesc().hasFlags();
- }
-
- if( as.getFlag() ){
- hasFlags = true;
- }
-
String strDesc = as.toStringForDOT()+"\\nsummary";
hrnSummary =
createNewHeapRegionNode( idSummary, // id or null to generate a new one
false, // single object?
- true, // summary?
- hasFlags, // flagged?
+ true, // summary?
false, // out-of-context?
as.getType(), // type
as, // allocation site
if( hrnIth == null ) {
- boolean hasFlags = false;
- if( as.getType().isClass() ) {
- hasFlags = as.getType().getClassDesc().hasFlags();
- }
-
- if( as.getFlag() ){
- hasFlags = true;
- }
-
String strDesc = as.toStringForDOT()+"\\n"+i+" oldest";
hrnIth = createNewHeapRegionNode( idIth, // id or null to generate a new one
true, // single object?
false, // summary?
- hasFlags, // flagged?
false, // out-of-context?
as.getType(), // type
as, // allocation site
rg.createNewHeapRegionNode( hrnCaller.getID(),
hrnCaller.isSingleObject(),
hrnCaller.isNewSummary(),
- hrnCaller.isFlagged(),
false, // out-of-context?
hrnCaller.getType(),
hrnCaller.getAllocSite(),
rg.createNewHeapRegionNode( null, // ID
false, // single object?
false, // new summary?
- false, // flagged?
true, // out-of-context?
oocNodeType,
null, // alloc site, shouldn't be used
rg.createNewHeapRegionNode( oocHrnID, // ID
false, // single object?
false, // new summary?
- false, // flagged?
true, // out-of-context?
oocNodeType,
null, // alloc site, shouldn't be used
createNewHeapRegionNode( hrnIDshadow, // id or null to generate a new one
hrnCallee.isSingleObject(), // single object?
hrnCallee.isNewSummary(), // summary?
- hrnCallee.isFlagged(), // flagged?
false, // out-of-context?
hrnCallee.getType(), // type
hrnCallee.getAllocSite(), // allocation site
createNewHeapRegionNode( hrnIDDstShadow, // id or null to generate a new one
hrnDstCallee.isSingleObject(), // single object?
hrnDstCallee.isNewSummary(), // summary?
- hrnDstCallee.isFlagged(), // flagged?
false, // out-of-context?
hrnDstCallee.getType(), // type
hrnDstCallee.getAllocSite(), // allocation site