Openj9: OpenJ9 does not recognize -Xnocompressedrefs (yet)

Created on 30 Oct 2017  路  12Comments  路  Source: eclipse/openj9

java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-adhoc.openj9.openjdk)
Eclipse OpenJ9 VM (build 2.9, JRE 9 Linux amd64-64 Compressed References 20170929_365721 (JIT enabled, AOT enabled)
OpenJ9 - 0ac16fb
OMR - 3b00c11
OpenJDK - dc8928f based on jdk-9+181)

java -Xnocompressedrefs -cp ~/pdbteam/lib/ HelloWorld
Selected VM [default] by option -Xnocompressedrefs does not exist.

This is causing this failure:
https://ci.eclipse.org/openj9/view/Test/job/Test-Extended-linux_ppc-64_cmprssptrs_le/lastBuild/testngreports/org.openj9.test.vmArguments/VmArgumentTests/testCrNocr/

build externals medium userRaised

Most helpful comment

In that case (of no ETA), the test should be excluded, to keep the extended runs green.

All 12 comments

Looks like the option was recognized, but there is no non-compressed VM to run.

This also implies a max heap size of ~57G

In the closed world, we used to test with build that contained both comrpessedrefs and non-compressedrefs VM. But I think with OpenJ9 the build contains only the VM corresponding to the spec specified. Since spec is linux_ppc-64_cmprssptrs_le, only "compressedrefs" VM is present in the build.
I think we need to update the test to match this change.

With the change from the old "composition" build process to "clone / clone / make", the ability to compose multiple vm packages together was dropped. This ability will need to be resurrected.

Feel free to remove the test in order to keep the builds green.

Is there any ETA for -Xnocompressedrefs? Currently Metronome GC cannot work with heaps higher than 25G.

Is there any ETA for -Xnocompressedrefs?

Not at the moment. As it stands, to support both compressed and noncompressed it requires a second copy of the VM, compiled with different options, to be included in the JVM build in the lib/default (or jre/lib//default for Java 8) directory.

I haven't tried it, but it should be possible to (easily?) build the noncompressed version instead of the compressed version.

Looking at the files in the extensions projects, https://github.com/ibmruntimes/openj9-openjdk-jdk9 or https://github.com/ibmruntimes/openj9-openjdk-jdk8, remove the "_cmprssptrs" from the following files:

  • jdk/make/closed/autoconf/custom-hook.m4
  • jdk/make/closed/autoconf/generated-configure.sh

and rename "compressedrefs" in closed/OpenJ9.gmk to "default".

In that case (of no ETA), the test should be excluded, to keep the extended runs green.

FYI #643

(dropping a note per @JamesKingdon's request)

The lack of support for heaps >60 GB is my main blocker for experimentation with OpenJ9 (the app I'd like to try it out with runs ~240 GB heaps).

@pdbain-ibm can this be closed given that https://github.com/eclipse/openj9/issues/643 is tracking the work?

@dsouzai This issue is listed in the release notes https://github.com/eclipse/openj9/blob/master/doc/release-notes/0.17/0.17.md and the older versions. For this reason I suggest we keep it open until #643 completes.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gacholio picture gacholio  路  80Comments

markehammons picture markehammons  路  63Comments

sophia-guo picture sophia-guo  路  52Comments

Thihup picture Thihup  路  51Comments

pshipton picture pshipton  路  59Comments