-
Enhancement
-
Resolution: Won't Fix
-
P4
-
24
-
aix
Traditionally, AIX was unable to use mprotect on System V shared memory. That is the reason we e.g. disable implicit null oop checks on AIX.
Since on AIX we need System V shared memory to get 64K pages, and we use System V shared memory to back os::reserve_memory, we traditionally could not protect memory reserved with os::reserve_memory.
However, Joachim Kern, one of the the maintainers of the AIX OS port, says support for mprotect on System V shared memory is possible now and can be enabled with an environment variable.
Therefore:
- check if that works and on what AIX versions
- does the environment variable have to be set in the parent process, or can it be set in-process, e.g. in hotspot initialization code? If the former, we cannot rely on it. if the latter, we should enable support in os::init on AIX
Then, if this works, we may be able to switch on implicit null checks for the Java heap on AIX. And probably remove a bunch of other AIX-specific exclusions in tests where we protect reserved space for specific tests (usually, gtests )
Since on AIX we need System V shared memory to get 64K pages, and we use System V shared memory to back os::reserve_memory, we traditionally could not protect memory reserved with os::reserve_memory.
However, Joachim Kern, one of the the maintainers of the AIX OS port, says support for mprotect on System V shared memory is possible now and can be enabled with an environment variable.
Therefore:
- check if that works and on what AIX versions
- does the environment variable have to be set in the parent process, or can it be set in-process, e.g. in hotspot initialization code? If the former, we cannot rely on it. if the latter, we should enable support in os::init on AIX
Then, if this works, we may be able to switch on implicit null checks for the Java heap on AIX. And probably remove a bunch of other AIX-specific exclusions in tests where we protect reserved space for specific tests (usually, gtests )