Skip to content
Success

Changes

Summary

  1. Use top-down direction for heap allocation on zLinux (commit: d4b0903) (details)
Commit d4b0903569f88d1b19535e6f31e0b33064576138 by Dmitri Pivkine
Use top-down direction for heap allocation on zLinux

Current heap allocation direction for zLinux is bottom-up. The
motivation for this is on Z platforms shift operation executes faster
for smaller shift value. However with bottom-up direction object heap
takes all available memory below 4G bar. This does not allow
Suballocator to expand if necessary and might lead to OOM below 4G bar.
The intention for this fix is to improve this situation. Switching to
top-down increases chances that less memory below 4G bar is going to be
used (but worst case scenario still be the same as now).
In order to keep smaller shift performance benefit an allocation shift
scheme should stay 0-1-2-3-4. All other platforms still use 0-3-4.
Heap allocation logic for Concurrent Scavenger with HW support (Guarded
Storage) hasn't been changed and still be bottom-up.
The behaviour for all other platforms hasn't been changed.

Signed-off-by: Dmitri Pivkine <Dmitri_Pivkine@ca.ibm.com>
(commit: d4b0903)
The file was modified gc/base/MemoryManager.cpp (diff)