RFR: 8255720: Optimize bci_to_dp/-data by enabling iteration over raw DataLayouts [v2]

Tobias Hartmann thartmann at openjdk.java.net
Mon Nov 2 13:16:02 UTC 2020


On Mon, 2 Nov 2020 13:09:08 GMT, Claes Redestad <redestad at openjdk.org> wrote:

>> 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

Looks good, thanks for making these changes.

-------------

Marked as reviewed by thartmann (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/988


More information about the hotspot-runtime-dev mailing list