-
Notifications
You must be signed in to change notification settings - Fork 721
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
Inline native call to java/lang/Class.getStackClass when possible #19365
Inline native call to java/lang/Class.getStackClass when possible #19365
Conversation
c296f4a
to
7b47c09
Compare
7352ac1
to
a15ccbf
Compare
@joransiu / @vijaysun-omr / @hzongaro Can I get your review on this change. I have tested this change internally through For the background, on JDK18 and up, we have introduced call to getStackClass [1][2][3] at various critical path which triggered a stack class iteration and stack walk. If we are inlining to the point that we can know the caller of getStackClass at index at compile time, we can inline those calls. On ILOG-ODM, these extra calls to getStackClass resulted in 5% performance penalty in throughput. With this change, we recovered that 5% back. [1].
[2].
[3].
|
The change itself looks good to me. There appears to be some sort of trailing |
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.
Logic looks fine to me, besides some wording nits of the performTransformation message.
a15ccbf
to
591fd57
Compare
I have removed the trailing |
jenkins test sanity all jdk21 |
Checking out the failures on some of the builds.
Also checking out OpenJ9 slack : Seems like bunch of UNB machine went down on Friday, (https://openj9.slack.com/archives/CDS7QE9HB/p1714157270356889 ](https://openj9.slack.com/archives/C8PQL5N65/p1714397285116169) which was not fixed yesterday. Looking at https://openj9-jenkins.osuosl.org/label/ci.geo.unb/, seems like bunch of there are still down |
Jenkins test sanity xlinux jdk21 |
Failure seen in JDK21 x86 build was due tio #19431, Now as it is merged, relaunching the JDK21 x86 build |
Jenkins test sanity xlinux jdk21 |
1 similar comment
Jenkins test sanity xlinux jdk21 |
Seems like last launched build finished successfully but test job could not download the build to start the tests. I am going to rebase my changes and run the tests internally again to cover some of the missing targets. |
Native call to java/lang/Class.getStackClass from the methods that are being inlined in another method can be folded to load of JavaLangClass from J9Class pointer when the inlined index of the caller of the getStackClass is higher than the known constant argument to getStackClass. Signed-off-by: Rahil Shah <rahil@ca.ibm.com>
591fd57
to
8202d53
Compare
jenkins test sanity all jdk21 |
Looking into the build results (Both from internal and open)
I do have this target passing on hyc jenkins : build
@vijaysun-omr I am not sure when the external infrastructure issues will be resolved, but I did try to cover most of the platforms combining internally and externally. Here is the JDK11 and JDK21 internal build. One failure seen internally on s390 is same as #19151 which is passing externally. This one can be merged if you are OK with the testing. |
Thanks @r30shah I am going to merge this on the basis of the justification that you provided. |
Native call to java/lang/Class.getStackClass from the methods that are
being inlined in another method can be folded to load of JavaLangClass
from J9Class pointer when the inlined index of the caller of the
getStackClass is higher than the known constant argument to
getStackClass.
Signed-off-by: Rahil Shah rahil@ca.ibm.com