Details
Description
However, when running tests with the fix of the bug mentioned above, the tests are failing with CodeCache overflows:
Java HotSpot(TM) 64-Bit Server VM warning: CodeHeap 'non-nmethods' is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code heap size using -XX:ProfiledCodeHeapSize=
Java HotSpot(TM) 64-Bit Server VM warning: CodeHeap 'non-profiled nmethods' is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code heap size using -XX:NonProfiledCodeHeapSize=
Java HotSpot(TM) Client VM warning: CodeCache is full. Compiler has been disabled.
Java HotSpot(TM) Client VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=
In order to fix this, the following can be done:
- Add CodeCache free space checking methods into WhiteBox API (
- Use these methods during estimating max. size of MethodHandle graph
- Add CodeCache overflow checks when calling the MethodHandle graph (as we do with stack checking)
- Add a test, which artifically provokes CodeCache overflow and expects it
Failing tests are:
vm/mlvm/meth/stress/compiler/sequences
vm/mlvm/meth/stress/compiler/i2c_c2i
vm/mlvm/**/breakpoint*
Attachments
Issue Links
- duplicates
-
JDK-8058176 [mlvm] tests should not allow code cache exhaustion
- Resolved
- is blocked by
-
JDK-8065152 WhiteBox API: Add methods to check free space in code cache
- Closed
- relates to
-
JDK-8061302 WhiteBox API: Add possibility to launch sweeper for code cache
- Closed
-
JDK-8065152 WhiteBox API: Add methods to check free space in code cache
- Closed
-
JDK-8058176 [mlvm] tests should not allow code cache exhaustion
- Resolved
-
JDK-8046809 vm/mlvm/meth/stress/compiler/deoptimize CodeCache is full.
- Closed
-
JDK-8208255 [mlvm] vm/mlvm/meth/stress/compiler/sequence fails with OOM
- Closed