-
Notifications
You must be signed in to change notification settings - Fork 720
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
Properly handle runtime assumptions in S390J9CallDataSnippet #9984
Conversation
if (comp->isOutOfProcessCompilation()) | ||
{ | ||
// For JITServer we need to build a list of assumptions that will be sent to client at end of compilation | ||
intptr_t offset = cursor - cg()->getCodeStart(); |
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.
Is cg()->getCodeStart()
the beginning of the code cache (thus including all of the prologue, pre-prologue and code cache header?
On x86 we use self()->getBinaryBufferStart()
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.
A similar thing is done inside J9::CodeGenerator::registerAssumptions()
in this PR: https://github.com/eclipse/openj9/pull/7948/files.
But it looks like the call has since been replaced with self()->getBinaryBufferStart()
. On Z we should be able to make the same call.
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.
The explanation for why it was changed is provided here, and I think we should do the same on Z:
b61f2c8
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.
Fixed here: ffd80c7357
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
@dchopra001 I'll be waiting for the results from the internal testing you mentioned here #9984 (comment) before merging this code |
@dchopra001 How stable is JITServer code that is already merged in on zLinux? Do you expect jenkins testing to pass? |
This commit will now build runtime assumptions and send them to the client instead storing them locally when doing a JITServer compilation. Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
@mpirvu My internal tests passed. So this is ready for testing/merging here.
As of now the build isn't stable so I wouldn't recommend running JITServer testing. Once all the key PRs have been merged I'll let you know and we can run JITServer testing as well. |
Since this PR is Z and JITServer specific there isn't any jenkins tests that would exercise the new code. @dchopra001 I recommend focusing on merging the PRs that are critical for jenkins testing. |
This commit will now build runtime assumptions and send them to the client
instead storing them locally when doing a JITServer compilation.
Signed-off-by: Dhruv Chopra Dhruv.C.Chopra@ibm.com