From f35288b55fc53f0c46c1376f388238c13895263f Mon Sep 17 00:00:00 2001 From: jjenista Date: Mon, 5 Oct 2009 23:10:34 +0000 Subject: [PATCH] a bug that only allows more aliasing than can be possible--benign, leave for now --- .../Analysis/OwnershipAnalysis/OwnershipGraph.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Robust/src/Analysis/OwnershipAnalysis/OwnershipGraph.java b/Robust/src/Analysis/OwnershipAnalysis/OwnershipGraph.java index 8aa559ca..4b538f19 100644 --- a/Robust/src/Analysis/OwnershipAnalysis/OwnershipGraph.java +++ b/Robust/src/Analysis/OwnershipAnalysis/OwnershipGraph.java @@ -947,9 +947,20 @@ public class OwnershipGraph { // affect reachability TypeDescriptor typeDeref = typeI.dereference(); + + + ///////////////////////////////////////////////////////////// + // NOTE! For the KMeans benchmark a parameter of type float + // array, which has an immutable dereferenced type, is causing + // this assertion to fail. I'm commenting it out for now which + // is safe, because it allows aliasing where no aliasing can occur, + // so it can only get a worse-but-not-wrong answer. FIX! + ///////////////////////////////////////////////////////////// // for this parameter to be aliased the following must be true - assert !typeDeref.isImmutable() || typeDeref.isArray(); + //assert !typeDeref.isImmutable() || typeDeref.isArray(); + + primary2secondaryFields.add( OwnershipAnalysis.getArrayField( typeDeref ) ); -- 2.34.1