-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add compressedrefs support on OSX in OpenJ9 #3144
Add compressedrefs support on OSX in OpenJ9 #3144
Conversation
fyi - @DanHeidinga. Related to #36 and ibmruntimes/openj9-openjdk-jdk9#179. Building locally to verify if compressedrefs SDK is properly generated on OSX. |
fyi @charliegracie @dmitripivkine Getting the following GC error when building a compressedrefs SDK on OSX:
|
this error message means Suballocator can not be initialized properly, most likely can not get memory below 4G: omrmem_ensure_capacity32() returns OMRPORT_ENSURE_CAPACITY_FAILED |
@dmitripivkine does this mean compressedrefs is unsupported on OSX? is it possible to resolve the GC error? |
Would you please check is OMR_PORT_CAN_RESERVE_SPECIFIC_ADDRESS defined? |
yes, |
This is a problem with Port Library Memory Allocation. I hope something is missed there and problem is not fatal. It should be investigated |
There is an issue at OMR for the portlibrary issue. eclipse-omr/omr#15 |
If build spec is osx_x86-64_cmprssptrs, then the following three flags need to be enabled: 1) OMR_GC_COMPRESSED_POINTERS 2) OMR_INTERP_COMPRESSED_OBJECT_HEADER 3) OMR_INTERP_SMALL_MONITOR_SLOT The above flags were derived using the OMR Linux x86 configure file: configure_linux_x86.mk. Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
1) linux_x86-64.spec and linux_x86-64_cmprssptrs.spec were diff'ed. This showed the new fields which were present in the compressedrefs spec. Also, it showed the fields which should be removed from the compressedrefs spec. 2) osx_x86-64.spec was copied to create osx_x86-64_cmprssptrs.spec. 3) Diff information from 1) was used to update osx_x86-64_cmprssptrs.spec. 4) A lot of property names in osx_x86-64*.spec still contain linux specific terms such as xa, linux, etc. Such property names are unused in OpenJ9 builds. They are retained with incorrect naming to avoid missing dependency issues in internal builds. The naming will be fixed at a later point if needed. 5) In the osx_x86-64_cmprssptrs.spec, "build_openj9", "build_openj9JDK8" and "graph_enableModularityTesting" flags were added; "env_data64", "graph_includeThrstatetest", "module_ddr_gdb_plugin" and "module_ddrext" flags were removed. 6) For osx_x86-64_cmprssptrs.spec, feature "cmprssptrs" was added and feature "crypto" was removed. Signed-off-by: Babneet Singh <sbabneet@ca.ibm.com>
5eb406f
to
e2a35e1
Compare
issue #36 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Merging without PR build as mac isn't supported in the PR builds yet |
i) Add compressedrefs support in OMR OSX configure file
If build spec is osx_x86-64_cmprssptrs, then the following three flags
need to be enabled:
The above flags were derived using the OMR Linux x86 configure file:
configure_linux_x86.mk.
ii) Add OSX compressedrefs buildspec
linux_x86-64.spec and linux_x86-64_cmprssptrs.spec were diff'ed. This
showed the new fields which were present in the compressedrefs spec.
Also, it showed the fields which should be removed from the
compressedrefs spec.
osx_x86-64.spec was copied to create osx_x86-64_cmprssptrs.spec.
Diff information from 1) was used to update
osx_x86-64_cmprssptrs.spec.
A lot of property names in osx_x86-64*.spec still contain linux
specific terms such as xa, linux, etc. Such property names are unused in
OpenJ9 builds. They are retained with incorrect naming to avoid missing
dependency issues in internal builds. The naming will be fixed at a
later point if needed.
In the osx_x86-64_cmprssptrs.spec, "build_openj9", "build_openj9JDK8"
and "graph_enableModularityTesting" flags were added; "env_data64",
"graph_includeThrstatetest", "module_ddr_gdb_plugin" and "module_ddrext"
flags were removed.
For osx_x86-64_cmprssptrs.spec, feature "cmprssptrs" was added and
feature "crypto" was removed.
Signed-off-by: Babneet Singh sbabneet@ca.ibm.com