RFR: 8255720: Optimize bci_to_dp/-data by enabling iteration over raw DataLayouts [v2]
Claes Redestad
redestad at openjdk.java.net
Mon Nov 2 13:09:08 UTC 2020
> MethodData::bci_to_dp and ciMethodData::bci_to_data show up in startup/warmup profiles - much of the overhead allocating resource objects when iterating over ProfileData objects (next_data)
>
> Providing a means to iterate over the raw DataLayout objects allow us to avoid explicitly allocating resource objects for purposes of calculating the next DataLayout address for the most common types.
>
> This patch reduces overhead of MethodData::bci_to_dp and ciMethodData::bci_to_data by 80% or more in profiles and has a measurable impact on simple startup tests, e.g. ~250k instruction (~0.2% of total) reduction on Hello World.
>
> Testing: tier1-3 passed
Claes Redestad has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
- More lines
- Merge branch 'master' into bci_to_dp_opt
- Merge branch 'master' into bci_to_dp_opt
- Optimize bci_to_data in ciMethodData
- Optimize bci_to_data similarly, remove dead code
- Optimize bci_to_dp by enabling iteration over DataLayouts with as few allocations as possible
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/988/files
- new: https://git.openjdk.java.net/jdk/pull/988/files/0d8e8f04..b12ff3b3
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=988&range=01
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=988&range=00-01
Stats: 682 lines in 21 files changed: 593 ins; 37 del; 52 mod
Patch: https://git.openjdk.java.net/jdk/pull/988.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/988/head:pull/988
PR: https://git.openjdk.java.net/jdk/pull/988
More information about the hotspot-compiler-dev
mailing list