@@ -427,19 +427,24 @@ abstract class GenBCode extends BCodeOptInter {
427
427
428
428
if (isOptimizRun) {
429
429
val cleanser = new BCodeCleanser (cnode, isIntraProgramOpt)
430
+ ifDebug { cleanser.runTypeFlowAnalysis() }
430
431
cleanser.codeFixupDCE()
432
+ ifDebug { cleanser.runTypeFlowAnalysis() }
431
433
// outer-elimination shouldn't be skipped under -o1 , ie it's squashOuter() we're after.
432
434
// under -o0 `squashOuter()` is invoked in the else-branch below
433
435
// under -o2 `squashOuter()` runs before inlining, ie in `Worker1.visit()`
434
436
// under -o3 or higher, rather than `squashOuter()`, the more powerful `minimizeDClosureFields()` is run instead
435
437
cleanser.codeFixupSquashLCC(item.lateClosures, item.epByDCName)
438
+ ifDebug { cleanser.runTypeFlowAnalysis() }
436
439
cleanser.cleanseClass()
440
+ ifDebug { cleanser.runTypeFlowAnalysis() }
437
441
}
438
442
else {
439
443
// the minimal fixups needed, even for unoptimized runs.
440
444
val essential = new EssentialCleanser (cnode)
441
445
essential.codeFixupDCE()
442
446
essential.codeFixupSquashLCC(item.lateClosures, item.epByDCName)
447
+ ifDebug { essential.runTypeFlowAnalysis() }
443
448
}
444
449
445
450
refreshInnerClasses(cnode)
@@ -967,7 +972,7 @@ abstract class GenBCode extends BCodeOptInter {
967
972
/* If the selector type has a member with the right name,
968
973
* it is the host class; otherwise the symbol's owner.
969
974
*/
970
- def findHostClass (selector : Type , sym : Symbol ) = selector member sym.name match {
975
+ def findHostClass (selector : Type , sym : Symbol ): Symbol = selector member sym.name match {
971
976
case NoSymbol => log(s " Rejecting $selector as host class for $sym" ) ; sym.owner
972
977
case _ => selector.typeSymbol
973
978
}
0 commit comments