-
Notifications
You must be signed in to change notification settings - Fork 114
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
[Backport] CHA inline #773
Merged
lusou-zhangquan
merged 7 commits into
dragonwell-project:master
from
lusou-zhangquan:port-cha
Jan 18, 2024
Merged
[Backport] CHA inline #773
lusou-zhangquan
merged 7 commits into
dragonwell-project:master
from
lusou-zhangquan:port-cha
Jan 18, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Reviewed-by: neliasso, thartmann
…nal methods Reviewed-by: dlong
lusou-zhangquan
force-pushed
the
port-cha
branch
from
January 10, 2024 08:25
7ad3933
to
ac9b077
Compare
…chy under context class Reviewed-by: kvn, coleenp, eosterlund
…cleanups Reviewed-by: kvn
lusou-zhangquan
force-pushed
the
port-cha
branch
2 times, most recently
from
January 11, 2024 05:00
33e743b
to
7442d79
Compare
lusou-zhangquan
force-pushed
the
port-cha
branch
from
January 11, 2024 06:08
7442d79
to
e73a508
Compare
kuaiwei
reviewed
Jan 15, 2024
kuaiwei
reviewed
Jan 15, 2024
linade
reviewed
Jan 17, 2024
linade
reviewed
Jan 17, 2024
Summary: Only analysis hierarchy for linked classes when trying to inline Testing: test/hotspot/jtreg/compiler/cha/StrengthReduceInterfaceCall.java Reviewers: kuaiwei.kw, yulei, yuede.lin Issue: dragonwell-project#774
Summary: CHA inline supports abstract method Testing: test/hotspot/jtreg/compiler/cha/AbstractRootMethod.java Reviewers: kuaiwei.kw, yulei, yude.lin Issue: dragonwell-project#774
Summary: CHA inline supports interface default method Testing: test/hotspot/jtreg/compiler/cha/DefaultRootMethod.java Reviewers: kuaiwei.kw, yulei, yude.lin Issue: dragonwell-project#774
lusou-zhangquan
force-pushed
the
port-cha
branch
from
January 17, 2024 09:40
e73a508
to
c6de43c
Compare
kuaiwei
approved these changes
Jan 18, 2024
linade
approved these changes
Jan 18, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduction
With this backport, interface call could be inlined if there is only one implementation of the invoked method after class hierarchy analysis, as shown in the following case.
Test results
benchmark: renaissance
platform: x86
config:4C8G
benchmark: renaissance
platform: aarch64
config:4C8G
There isn't any change for SPECjbb on x86 and aarch64 platform.
Corresponding upstream commit
6986483CHA: optimize calls through interfaces
8223171Redundant nmethod dependencies for effectively final methods
8261954Dependencies: Improve iteration over class hierarchy under context class
8264548Dependencies: ClassHierarchyWalker::is_witness() cleanups
8266074 Vtable-based CHA implementation
8065760 CHA: Improve abstract method support
8036580 CHA: improve default method support
Others
JDK-8264873 Dependencies: Split ClassHierarchyWalker
in JDK11, the implementation of classLinkedConcreteMethodFinder
in backported JDK-8266074 is little different with upstream, but keeps functionality consistent.