Skip to content
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

Remove most truffle dependencies from com.oracle.svm.graal #5002

Closed
wants to merge 3 commits into from

Conversation

zakkak
Copy link
Collaborator

@zakkak zakkak commented Sep 19, 2022

This PR tries to completely remove any dependencies on the truffle-api.jar for running native-image without runtime compilation support and truffle features.

It:

  • Makes flags that depend on LibGraal optional
  • Makes the native-image driver dependency on truffle-api.jar optional
  • Removes most truffle dependencies from com.oracle.svm.graal

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Sep 19, 2022
@zakkak zakkak force-pushed the rm-truffle-dependency branch from 779ac96 to 4e29c68 Compare September 20, 2022 22:01
@zakkak zakkak marked this pull request as ready for review September 20, 2022 22:03
@zakkak
Copy link
Collaborator Author

zakkak commented Sep 20, 2022

Hi @fniephaus,

I am not sure who is the most suitable to review this kind of change.
Could you please have a look and assign it accordingly?

Thank you

@zakkak zakkak changed the title Remove truffle dependencies from com.oracle.svm.graal Remove most truffle dependencies from com.oracle.svm.graal Sep 20, 2022
@zakkak zakkak force-pushed the rm-truffle-dependency branch 2 times, most recently from 4e0a45b to eb1038b Compare September 21, 2022 10:04
zakkak added a commit to zakkak/mandrel-packaging that referenced this pull request Sep 22, 2022
@zakkak zakkak force-pushed the rm-truffle-dependency branch 6 times, most recently from 0250c93 to 9ef53a1 Compare October 26, 2022 11:49
@zakkak
Copy link
Collaborator Author

zakkak commented Nov 9, 2022

Hi @pejovica, this is a kind reminder.

@zakkak zakkak force-pushed the rm-truffle-dependency branch 2 times, most recently from a739edc to b3bfbbf Compare July 12, 2023 09:39
@zakkak
Copy link
Collaborator Author

zakkak commented Jul 12, 2023

@fniephaus could we please revisit this? It still seems relevant.

@christianwimmer
Copy link

@zakkak We are currently working on a large refactoring to decouple Truffle from the compiler. The end result of this should be that only the svm.truffle project depends on Truffle, and that project is also in a separate module. On the way to this, @olpaw and @chumer might be able to re-use some of the changes from this PR.

@zakkak
Copy link
Collaborator Author

zakkak commented Jul 12, 2023

Thanks for the update @christianwimmer.

Do I understand correctly that this will also remove all the truffle related packages from the jdk.internal.vm.compiler module (as introduced in #6503)?

Furthermore, is this planned for the 23.1 release?

Update: It looks like the answer to both questions is yes, see #6986

zakkak added 3 commits July 14, 2023 13:08
Implements `OptimizedAssumptionDependency` on top of
`IsolatedCodeInstallBridge` in `com.oracle.svm.truffle` to avoid pulling
truffle dependencies in `com.oracle.svm.graal`.
@zakkak zakkak force-pushed the rm-truffle-dependency branch from b3bfbbf to 0a13043 Compare July 14, 2023 10:39
@chumer
Copy link
Member

chumer commented Jul 16, 2023

The goal of this refactoring is described here:
#6852

So in the future, truffle and all languages will be consumed from the application module-path.

The compiler and SVM will still depend on truffle-compiler.jar, which is a small set of interfaces shared between Truffle and the compiler. It is not quite minimal yet (it still contains some libgraal specific classes), but we will work on further reducing it.

@zakkak
Copy link
Collaborator Author

zakkak commented Oct 22, 2023

No longer relevant.

@zakkak zakkak closed this Oct 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants