-
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
Get target JITServer's CPU before CG object is created #10474
Conversation
Depends on eclipse-omr/omr#5506 |
Tagging @harryyu1994 @mpirvu @dsouzai for review. |
9c5f917
to
dec5738
Compare
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. The only risk I see is if we call TR::Compilation()
somewhere else and didn't follow this. If this is the only place we call it then we are good.
// In JITServer, we would like to use JITClient's processor info for the compilation | ||
// The following code effectively replaces the cpu with client's cpu through the getProcessorDescription() that has JITServer support | ||
if (self()->getPersistentInfo()->getRemoteCompilationMode() == JITServer::SERVER) | ||
if (((TR_J9VMBase *)fe)->isAOT_DEPRECATED_DO_NOT_USE() && TR::Compiler->target.cpu.isX86()) |
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.
if (((TR_J9VMBase *)fe)->isAOT_DEPRECATED_DO_NOT_USE() && TR::Compiler->target.cpu.isX86())
_target = TR::Compiler->relocatableTarget;
I think this needs to be moved out as well (It looks like you already added code outside the constructor but didn't remove it from here)
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.
Sorry forgot about this! Fixed in e7c02f3.
dec5738
to
e7c02f3
Compare
I have tested this code with an internal build and didn't see any issues. |
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.
I think you need to change the constructor in TR::Compilation
also, ie https://github.com/eclipse/openj9/blob/master/runtime/compiler/compile/Compilation.hpp
Sorry, it looks like you did update Compilation.hpp; I got mixed up with the OMR PR... |
Travis build failed due to an infra issue:
|
This is needed so that the codegen is able to set the correct flags when initializing. Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
e7c02f3
to
2b4a2d7
Compare
jenkins test sanity xlinuxjit jdk11 |
jenkins test sanity xlinuxjit jdk11 depends eclipse-omr/omr#5506 |
Jenkins didn't seem to use the OMR PR for some reason :S |
Looks like it worked just fine to me (according to https://ci.eclipse.org/openj9/job/Build_JDK11_x86-64_linux_jit_Personal/144/consoleFull):
|
Oh weird, I guess when I looked at it, the PR was showing the result of https://ci.eclipse.org/openj9/job/Pipeline_Build_Test_JDK11_x86-64_linux_jit/143/ |
JITServer test passed; will kick off regular PR build testing |
jenkins test sanity all jdk11 |
sigh... jenkins test sanity all jdk11 depends eclipse-omr/omr#5506 |
OMR PR has been merged; will merge this once that change is accepted into the |
OMR change has promoted to |
This is needed so that the codegen is able to set the correct
flags when initializing.
Signed-off-by: Dhruv Chopra Dhruv.C.Chopra@ibm.com