JVM FastMethodAnalyzer: prune some exception edges
This commit is contained in:
committed by
teamcityserver
parent
07b89c6b4b
commit
c54e680021
+1
@@ -306,6 +306,7 @@ class FastMethodAnalyzer<V : Value>(
|
|||||||
val begin = tcb.start.indexOf()
|
val begin = tcb.start.indexOf()
|
||||||
val end = tcb.end.indexOf()
|
val end = tcb.end.indexOf()
|
||||||
for (j in begin until end) {
|
for (j in begin until end) {
|
||||||
|
if (!insnsArray[j].isMeaningful) continue
|
||||||
var insnHandlers: MutableList<TryCatchBlockNode>? = handlers[j]
|
var insnHandlers: MutableList<TryCatchBlockNode>? = handlers[j]
|
||||||
if (insnHandlers == null) {
|
if (insnHandlers == null) {
|
||||||
insnHandlers = SmartList()
|
insnHandlers = SmartList()
|
||||||
|
|||||||
+2
-1
@@ -126,9 +126,10 @@ class InstructionLivenessAnalyzer(val method: MethodNode) {
|
|||||||
val begin = tcb.start.indexOf
|
val begin = tcb.start.indexOf
|
||||||
val end = tcb.end.indexOf
|
val end = tcb.end.indexOf
|
||||||
for (j in begin until end) {
|
for (j in begin until end) {
|
||||||
|
if (!instructions[j].isMeaningful) continue
|
||||||
var insnHandlers = handlers[j]
|
var insnHandlers = handlers[j]
|
||||||
if (insnHandlers == null) {
|
if (insnHandlers == null) {
|
||||||
insnHandlers = ArrayList<TryCatchBlockNode>()
|
insnHandlers = ArrayList()
|
||||||
handlers[j] = insnHandlers
|
handlers[j] = insnHandlers
|
||||||
}
|
}
|
||||||
insnHandlers.add(tcb)
|
insnHandlers.add(tcb)
|
||||||
|
|||||||
Reference in New Issue
Block a user