We have been looking at some related compiler behaviors, and realized that in the absence of profiling data, C2 routinely uncommon-traps a lot of code that is presumed to be never executed. This apparently is a norm in CTW tests: CTW runners never execute code, and so only the most basic java.base classes are having any profile. This seems to limit the scope of CTW testing.
I think we need to run CTW in the mode that exposes more code to the compiler optimizations.
Case in point: JDK-8348572, which reliably fails with more aggressive compilation mode.