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

Disable VarHandleMethodType lookup table code for OJDK MH #13858

Merged
merged 1 commit into from
Nov 19, 2021

Conversation

EricYangIBM
Copy link
Contributor

J9RomClass.varHandleMethodTypeLookupTable is not used in the OJDK method
handle implementation as varhandles are treated as method handles and
use the invoke cache instead.

Closes: #11580
Signed-off-by: Eric Yang eric.yang@ibm.com

@EricYangIBM EricYangIBM force-pushed the varHandleTable branch 3 times, most recently from c709535 to d9c5fae Compare November 4, 2021 20:12
@EricYangIBM EricYangIBM marked this pull request as ready for review November 5, 2021 14:54
Copy link
Contributor

@babsingh babsingh left a comment

Choose a reason for hiding this comment

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

lgtm. commits need to be squashed. @nbhuiyan can you review the JIT changes?

@EricYangIBM
Copy link
Contributor Author

EricYangIBM commented Nov 8, 2021

Ran the openjdk jck system sanity tests for jdk11 and 17 and all passed.
For perf, there was not any significant change in time spent and total memory used (CleanedLibertyStartupDT7(17dev-4way-0-256-qs) on perf machine and also a simple varhandle test in a local docker). The varHandleMethodTable is not allocated, I believe this is because the varhandle methods are rewritten to invokehandle so ((J9CPTYPE_INSTANCE_METHOD == _romConstantPoolTypes[i]) || (J9CPTYPE_INTERFACE_INSTANCE_METHOD == _romConstantPoolTypes[i]) is never satisfied for varhandle accessor methods (in ConstantPoolMap::findVarHandleMethodRefs()).

J9RomClass.varHandleMethodTypeLookupTable is not used in the OJDK method
handle implementation as varhandles are treated as method handles and
use the invoke cache instead.

Closes: eclipse-openj9#11580
Signed-off-by: Eric Yang <eric.yang@ibm.com>
@babsingh
Copy link
Contributor

fyi @0xdaryl, Nazim is on vacation. Can you assign someone for the JIT review?
@tajila for the VM review.

@tajila
Copy link
Contributor

tajila commented Nov 17, 2021

Jenkins test sanity,extended win jdk8,jdk17

@tajila tajila requested review from jdmpapin and removed request for nbhuiyan November 18, 2021 15:57
@tajila
Copy link
Contributor

tajila commented Nov 18, 2021

@jdmpapin Please review the JIT changes

Copy link
Contributor

@jdmpapin jdmpapin left a comment

Choose a reason for hiding this comment

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

JIT changes LGTM

@tajila tajila merged commit a374105 into eclipse-openj9:master Nov 19, 2021
@EricYangIBM EricYangIBM deleted the varHandleTable branch November 19, 2021 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

VarHandle MethodType lookup table not needed for OJDK MH
4 participants