RFR: 8286104: use aggressive liveness for unstable_if traps [v13]
Xin Liu
xliu at openjdk.org
Thu Jun 23 22:43:09 UTC 2022
On Thu, 23 Jun 2022 12:31:23 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
>> Xin Liu 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 29 additional commits since the last revision:
>>
>> - update per reviewer's feedback.
>>
>> also changed the option from AggressiveLivenessForUnstableIf to
>> OptimizeUnstableIf.
>> - Merge branch 'master' into JDK-8286104
>> - monior change for code style.
>> - Bail out if fold-compares sees that a unstable_if trap has modified.
>>
>> Also add a regression test
>> - Merge branch 'master' into JDK-8286104
>> - Remame all methods to _unstable_if_trap(s) and group them.
>> - move preprocess() after remove Useless.
>> - Refactor per reviewer's feedback.
>> - Remove useless flag. if jdwp is on, liveness_at_bci() marks all local
>> variables live.
>> - support option AggressiveLivessForUnstableIf
>> - ... and 19 more: https://git.openjdk.org/jdk/compare/500b937a...e5c8e559
>
> src/hotspot/share/opto/parse.hpp line 613:
>
>> 611: // Parse::_blocks outlive Parse object itself.
>> 612: // They are reclaimed by ResourceMark in CompileBroker::invoke_compiler_on_method().
>> 613: Parse::Block* const _path; // the pruned path
>
> Do we really need to keep track of the entire Block? Looks like we could just save next_bci as int.
good point.
I used path() in the second patch. now I store those traps in their basic blocks. I don't need to remember them.
-------------
PR: https://git.openjdk.org/jdk/pull/8545
More information about the hotspot-compiler-dev
mailing list