-
Notifications
You must be signed in to change notification settings - Fork 396
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
Port JITServer to Power #4464
Comments
@Leonardo2718 FYI |
Would it be possible for you to list what queries are needed to support JITServer in OpenJ9? I'm trying to understand what parts of OMR need to configured/customized to work with JITServer. If existing queries don't satisfy the JITServer use case, I'd like to understand why that is. I think having a clear definition of what customization points are needed will help ensure we come up with the right solutions to the problem. Taking #4441 as an example, |
The short answer is as you suspect, There are seemingly about half a dozen different ways of checking for AOT in different contexts, some relating to relocations, others not, strewn across OMR and OpenJ9, that need untangling, but I don't think this should be tackled here and now. It needs to be someone's primary mission for a good period of time because its probably going to take a fair bit of coordination between OpenJ9 and OMR to see it done. |
I don't know if there's a concrete list of queries available. There are some examples in the appropriate FrontEnd. Many of these were already available from before. Here's a few queries that we override for remote JIT compiles: And here's a few for remote AOT compiles: Eventually all the changes that go into OMR will replace the
Adding on to @ymanton's comment, whether we should use a single query to answer such a question is a broader discussion. For example in the regular AOT front-end in OpenJ9 we are deliberately trying to deprecate a general There are queries here that check whether we need to generate relocatableCode as well as if we are in an AOT compile. I recall @dsouzai mentioning a while ago to me that this new approach was taken to try and provide more context as to why relocatable code is necessary on a per-situation basis. I suppose a similar argument could be made for the Given that context I do see the advantage of using such queries. Obviously one of the drawbacks is that in some situations these queries end up leaking into OMRCodeGenerator :P). So I'm not really sure what the best long term solution is here. |
Heh, I think |
As part of the work being tracked in eclipse-openj9/openj9#6991, there are some changes that need to be made in the OMR project.
PRs using the
comp->isOutOfProcessCompilation()
query are opened as draft PRs since this is not a valid query in OMR. While doing the implementation I wasn't sure which front end query to use, so I proceeded with usingcomp->isOutOfProcessCompilation()
in order to first achieve functional correctness. We can discuss and finalize in each of the PRs what the final queries should look like. Where possible, I used an appropriate front end query that is already available instead of the above check.Where it made sense, I have also divided each PR into separate commits and additional comments so as to provide more context about the changes being made.
The list of PRs is below:
@mpirvu @ymanton @gita-omr FYI
The text was updated successfully, but these errors were encountered: