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

Properly handle runtime assumptions in S390J9CallDataSnippet #9984

Merged
merged 1 commit into from
Jun 24, 2020

Conversation

dchopra001
Copy link
Contributor

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

@dchopra001 dchopra001 marked this pull request as ready for review June 23, 2020 15:34
@dchopra001
Copy link
Contributor Author

@fjeremic @mpirvu FYI

I'm running internal tests for this change and will update once they are complete. Meanwhile this is ready for review.

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();
Copy link
Contributor

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()

Copy link
Contributor Author

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.

Copy link
Contributor Author

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

Copy link
Contributor Author

@dchopra001 dchopra001 Jun 23, 2020

Choose a reason for hiding this comment

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

Fixed here: ffd80c7357

@mpirvu mpirvu added comp:jitserver Artifacts related to JIT-as-a-Service project arch:z labels Jun 23, 2020
@mpirvu mpirvu self-assigned this Jun 23, 2020
@dchopra001 dchopra001 changed the title Properly handle runtime assumptions in S390J9CallDataSnippet WIP: Properly handle runtime assumptions in S390J9CallDataSnippet Jun 23, 2020
Copy link
Contributor

@mpirvu mpirvu left a comment

Choose a reason for hiding this comment

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

LGTM

@mpirvu
Copy link
Contributor

mpirvu commented Jun 23, 2020

@dchopra001 I'll be waiting for the results from the internal testing you mentioned here #9984 (comment) before merging this code

@mpirvu
Copy link
Contributor

mpirvu commented Jun 23, 2020

@dchopra001 How stable is JITServer code that is already merged in on zLinux? Do you expect jenkins testing to pass?

@dchopra001 dchopra001 changed the title WIP: Properly handle runtime assumptions in S390J9CallDataSnippet Properly handle runtime assumptions in S390J9CallDataSnippet Jun 24, 2020
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>
@dchopra001
Copy link
Contributor Author

@mpirvu My internal tests passed. So this is ready for testing/merging here.

How stable is JITServer code that is already merged in on zLinux? Do you expect jenkins testing to pass?

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.

@mpirvu
Copy link
Contributor

mpirvu commented Jun 24, 2020

Since this PR is Z and JITServer specific there isn't any jenkins tests that would exercise the new code.
I am going to rely on the internal testing mentioned here #9984 (comment) and merge this PR.

@dchopra001 I recommend focusing on merging the PRs that are critical for jenkins testing.

@mpirvu mpirvu merged commit be1e5c8 into eclipse-openj9:master Jun 24, 2020
@dchopra001 dchopra001 mentioned this pull request Jun 26, 2020
32 tasks
@dchopra001 dchopra001 deleted the buildSRA branch July 13, 2021 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch:z comp:jitserver Artifacts related to JIT-as-a-Service project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants