-
Enhancement
-
Resolution: Fixed
-
P4
-
22
-
b18
`CodeCache::initialize_heaps` assumes CodeCache is a combination of NonProfiledCodeHeap, ProfiledCodeHeap and NonNMethodCodeHeap. Adding new CodeCache segments causes a lot of changes in the function.
We need to refactor the function to minimize changes when new segments are added to CodeCache.
The ideal solution should be `CodeCache::initialize_heaps` not to depend on any particular code heap at all. It should accept a valid CodeCache layout description and initialize each code heap according to the description. A valid CodeCache layout description is created based on defaults, cmd options and ergonomics. The process of the description creation can fail if it is not possible to have a requested CodeCache layout.
We need to refactor the function to minimize changes when new segments are added to CodeCache.
The ideal solution should be `CodeCache::initialize_heaps` not to depend on any particular code heap at all. It should accept a valid CodeCache layout description and initialize each code heap according to the description. A valid CodeCache layout description is created based on defaults, cmd options and ergonomics. The process of the description creation can fail if it is not possible to have a requested CodeCache layout.
- relates to
-
JDK-8334564 VM startup: fatal error: FLAG_SET_ERGO cannot be used to set an invalid value for NonNMethodCodeHeapSize
-
- Resolved
-
-
JDK-8346965 Multiple compiler/ciReplay test fails with -XX:+SegmentedCodeCache
-
- Resolved
-
-
JDK-8330061 Cleanup: follow code heaps order in CodeCache initialization and logging, code heap info in logs
-
- Open
-