Nice/src/mlsub/typing/lowlevel K0.java,1.31,1.32
Daniel Bonniot <[email protected]> Tue, 05 Jul 2005 18:32:56 +0000
| Newsgroups | gmane.comp.lang.nice.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/nice/Nice/src/mlsub/typing/lowlevel
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8749/src/mlsub/typing/lowlevel
Modified Files:
K0.java
Log Message:
Only perform abstract interface computations when at least one soft node
implements at least one abstract interface.
Speeds up typechecking by another ~ 10%.
Index: K0.java
===================================================================
RCS file: /cvsroot/nice/Nice/src/mlsub/typing/lowlevel/K0.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** K0.java 5 Jul 2005 16:04:46 -0000 1.31
--- K0.java 5 Jul 2005 18:32:53 -0000 1.32
***************
*** 594,597 ****
--- 594,598 ----
**/
public void indexImplements(int x, int iid) throws Unsatisfiable {
+ usingInterfaces = true;
S.assume(S.a&& hasBeenInitialized);
if (LowlevelUnsatisfiable.refinedReports) {
***************
*** 1158,1168 ****
}
private void prepareConstraint() throws Unsatisfiable {
collapseMinimal();
! BitMatrix leq = new BitMatrix(C);
! leq.closure();
! computeArrows(leq);
! saturateAbs(leq);
! //condense(leq);
}
--- 1159,1174 ----
}
+ private boolean usingInterfaces = false;
+
private void prepareConstraint() throws Unsatisfiable {
collapseMinimal();
! if (usingInterfaces) {
! BitMatrix leq = new BitMatrix(C);
! leq.closure();
! computeArrows(leq);
! saturateAbs(leq);
! //condense(leq);
! usingInterfaces = false;
! }
}
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click