Skip to content

Add Graal Native Image description in JDK compatibility section. #1989

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

Conversation

chaitanyawaikar
Copy link
Contributor

I have added the description of GraalVM in the JDK compatibility section. Please let me know if you would like me to make any changes. Looking forward for your feedback. Thanks

@SethTisue
Copy link
Member

@andreaTP @olofwalker LGTY?

@@ -48,7 +50,7 @@ In almost every case, you're free to use the JDK and JVM of your choice.

JDK 8 users typically use the Oracle JDK or some flavor of OpenJDK.

Most JDK 11+ users are using either OpenJDK or GraalVM.
Most JDK 11+ users are using either OpenJDK or [GraalVM](https://www.graalvm.org/docs/reference-manual/scala/) which runs in the context of OpenJDK. Developers can use [sbt-native-image](https://github.com/scalameta/sbt-native-image) which uses GraalVM under the hood.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs clarification. Are you referring to the GraalVM compiler which using JVMCI can be utilized as a C2 compiler by OpenJDK?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be very frank, I have not gone through the source code of sbt-native-image. I just read that it uses GraalVm under the hood. If this line is confusing, I can completely remove it. Else, if you would like to have an alternate explanation, I would be happy to put it.
Thanks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sbt-native-image mention deserves a separate section ( and you can add sbt-native-packager https://www.scala-sbt.org/sbt-native-packager/formats/graalvm-native-image.html )

We can mention that there are several known projects already compiling with the GraalVM AOT compiler and therefore running on SubstrateVM.

@chaitanyawaikar this is always the confusion with Graal:

  • AOT compiler
  • JIT compiler (as opposed to C2 in a normal JVM)
  • Polyglot runtime

I think your addition covers pretty well the JIT part!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andreaTP does your comment mean that my changes look good ? Sorry, but I am still confused :(

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping @andreaTP

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry, missed the comment, not really for this PR I suggest that @chaitanyawaikar simply remove the line:

Developers can use sbt-native-image which uses GraalVM under the hood.

and I will follow up with the changes for native-image, works for you @chaitanyawaikar ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarification @andreaTP . Removed the line

 Remove the line related to GraalVM which causes ambiguity "Developers can use sbt-native-image which uses GraalVM under the hood."
@SethTisue SethTisue merged commit 882e73a into scala:main Jul 9, 2021
@SethTisue
Copy link
Member

thank you!

@SethTisue SethTisue mentioned this pull request Jul 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants