RFR(XS): 8148564: compiler/intrinsics/string/TestStringIntrinsics2.java times out
volker.simonis at gmail.com
Fri Feb 12 09:31:39 UTC 2016
thanks for fixing the test. I can confirm that the intrinsics are
still inlined with -XX:MaxInlineSize=70.
I'm only a little confused why we need -Xmixed. This should be the
default anyway. Or do you run jtreg tests by setting -Xcomp
Thumbs up from me as well,
On Thu, Feb 11, 2016 at 3:29 PM, Tobias Hartmann
<tobias.hartmann at oracle.com> wrote:
> please review the following patch.
> The test times out with a fastdebug build and -Xcomp after 356 seconds. The profile shows that most time is spent in C1:
> 40.06% java libjvm.so [.] RangeCheckEliminator::Verification::can_reach(BlockBegin*, BlockBegin*, BlockBeg
> 20.08% java libjvm.so [.] LinearScan::is_sorted(IntervalArray*)
> 4.47% java libc-2.19.so [.] memset
> LinearScan::is_sorted() is known to be very slow (JDK-8067014). It seems that RangeCheckEliminator::Verification::can_reach() also slows down performance significantly.
> Without these checks the runtime drops down to 126 seconds.
> The accumulated compiler times also show that most time is spent in C1 (see ):
> C1 Compile Time: 326.983 s
> C2 Compile Time: 3.241 s
> A product build is significantly faster, i.e. the slowdown is caused by additional C1 verification code in fastdebug builds:
> C1 Compile Time: 8.463 s
> C2 Compile Time: 1.619 s
> The problem is that the test specifies -XX:MaxInlineSize=100 to trigger inlining of intrinsics. With -Xcomp, this also causes many other methods to be inlined, blowing up the graphs and significantly slowing down compilation. Since the test uses the Whitebox API to trigger compilation, -Xcomp is not required.
> I verified that -XX:MaxInlineSize=70 is enough to inline all intrinsics and added -Xmixed to the test to avoid compilation of unrelated methods.
>  https://bugs.openjdk.java.net/secure/attachment/57052/CITime.log
More information about the hotspot-compiler-dev