RFR(M): 8023014: closed/com/oracle/jfr/compiler/CodeSweeperSweepNoFlushTest.java fails with HS crash
albert.noll at oracle.com
Wed Sep 25 13:05:27 PDT 2013
could I have a review for this patch?
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...
More information about the hotspot-compiler-dev