RFR(M): 8023014: closed/com/oracle/jfr/compiler/CodeSweeperSweepNoFlushTest.java fails with HS crash

Albert Noll albert.noll at oracle.com
Wed Sep 25 13:05:27 PDT 2013


could I have a review for this patch?

bug: https://bugs.openjdk.java.net/browse/JDK-8023014
webrev: http://cr.openjdk.java.net/~anoll/8023014/webrev.00/ 

Problem: C1/C2 compiler initialization can fail if there is not enough 
memory in the code cache to generate all stubs.
This problem occurs only with a small code cache size.

Solution: Check correctness of (parts of) C1/C2 initialization and 
disable compiler (C1 and/or C2) if the compiler / thread
was not initialized correctly.

Testing: jprt, test case, benchmarks

This patch also contains a refactored version of compiler object/thread 
initialization. In the new version, a compiler object/thread is
initialized prior entering the main compiler loop. In the old version, 
the check if the compiler/thread is initialized was
done in the main compiler loop (and hence before every compilation).

To continue execution with a limited code cache size, the code types 
'AdapterBlob' and 'MethodHandlesAdapterBlob' must
be 'critical' allocations in the code cache, i.e., they must use space 
reserved by CodeCacheMinimumFreeSpace.

In addition I removed some unued code.

Many thanks in advance for reviewing.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130925/9e9b6904/attachment.html 

More information about the hotspot-compiler-dev mailing list