[11u] RFR (Backport): 8177899: Tests fail due to code cache exhaustion on machines with many cores

Doerr, Martin martin.doerr at sap.com
Thu Jun 6 09:35:56 UTC 2019


Hi,

we noticed that jdk11u is also affected by
https://bugs.openjdk.java.net/browse/JDK-8177899

The VM didn't come up on a SPARC machine due to too high upper limit of compiler threads leading to misconfigured code cache.

Unfortunately, the original change does not apply cleanly and needs manual resolution.

Original change:
http://hg.openjdk.java.net/jdk/jdk/rev/0451e0a2f1f5

My backport:
http://cr.openjdk.java.net/~mdoerr/8177899_code_cache/jdk11u/webrev.00/

Here's the complete list of what I had to integrate manually:

compile.cpp: Does not apply cleanly because of conflict with
JDK-8209594: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset
Trivial to resolve: Original JDK-8177899 removes this part of JDK-8209594.
We just need to take the new line: int size = C2Compiler::initial_code_buffer_size(const_size);

compilationPolicy.cpp: Does not apply cleanly because neighboring hunk has changed:
JDK-8214206: Fix for JDK-8213419 is broken on 32-bit
Just need to insert code manually next to where log2_int was changed to log2_intptr.

tieredThresholdPolicy.cpp: Does not apply cleanly because the file was renamed:
JDK-8209186: Rename SimpleThresholdPolicy to TieredThresholdPolicy
Change needs to get applied to simpleThresholdPolicy.cpp instead. Not difficult.

Please review. I'm targeting to 11.0.5.

Best regards,
Martin



More information about the jdk-updates-dev mailing list