[Fb-contrib-commit] SF.net SVN: fb-contrib:[1142] trunk/fb-contrib/src/com/mebigfatguy/ fbcontrib/
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2009-03-16 03:01:08
|
Revision: 1142
http://fb-contrib.svn.sourceforge.net/fb-contrib/?rev=1142&view=rev
Author: dbrosius
Date: 2009-03-16 03:01:00 +0000 (Mon, 16 Mar 2009)
Log Message:
-----------
remove some more fps due to crazy jdk6 finally block generations
Modified Paths:
--------------
trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/LostExceptionStackTrace.java
Modified: trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/LostExceptionStackTrace.java
===================================================================
--- trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/LostExceptionStackTrace.java 2009-03-15 04:28:50 UTC (rev 1141)
+++ trunk/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/LostExceptionStackTrace.java 2009-03-16 03:01:00 UTC (rev 1142)
@@ -67,6 +67,7 @@
private CodeException[] exceptions;
private Set<CatchInfo> catchInfos;
private Map<Integer, Boolean> exReg;
+ private boolean lastWasExitPoint = false;
/**
* constructs a LEST detector given the reporter to report bugs on
@@ -134,6 +135,7 @@
catchInfos.clear();
exceptions = collectExceptions(obj.getExceptionTable());
exReg.clear();
+ lastWasExitPoint = false;
super.visitCode(obj);
}
}
@@ -255,6 +257,12 @@
}
}
} else if ((seen == ASTORE) || ((seen >= ASTORE_0) && (seen <= ASTORE_3))) {
+ if (lastWasExitPoint) {
+ //crazy jdk6 finally block injection -- shut off detection
+ catchInfos.clear();
+ break;
+ }
+
if (stack.getStackDepth() > 0) {
OpcodeStack.Item itm = stack.getStackItem(0);
int reg = RegisterUtils.getAStoreReg(this, seen);
@@ -279,6 +287,8 @@
it.remove();
}
}
+
+ lastWasExitPoint = ((seen >= IRETURN) && (seen <= RETURN)) || (seen == GOTO) || (seen == GOTO_W);
}
finally {
stack.sawOpcode(this, seen);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|