RFR: 8320128: Clean up Parse constructor for OSR [v3]
Aleksey Shipilev
shade at openjdk.org
Thu Jan 4 08:51:29 UTC 2024
On Wed, 3 Jan 2024 20:04:17 GMT, Xin Liu <xliu at openjdk.org> wrote:
>> There's a special case for the constructor of Parse. If current compilation is OSR and it is handling the top-level method(depth() == 1), then
>>
>> 1. _tf = C->tf();
>> 2. _entry_bci = C->entry_bci();
>> 3. _flow = method()->get_osr_flow_analysis(_entry_bci);
>>
>> We don't need to assign those member data twice. We can also factor out _flow->failing() for the special case and normal cases.
>>
>> It's worth mentioning that we can't save ciTypeFlow computation because
>> get_osr_flow_analysis(_entry_bci) actually needs get_flow_analysis(method()).
>
> 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 four additional commits since the last revision:
>
> - Use atomic logline and resume #ifdef ASSERT.
> - Merge branch 'master' into JDK-8320128
> - Update according to reviewer's feedback.
> - 8320128: Clean up Parse constructor for OSR
src/hotspot/share/opto/parse1.cpp line 511:
> 509: if (PrintOpto && (Verbose || WizardMode)) {
> 510: if (is_osr_parse()) {
> 511: tty->print("OSR @%d type flow bailout: %s", _entry_bci, _flow->failure_reason());
Should be `print_cr`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16669#discussion_r1441483574
More information about the hotspot-compiler-dev
mailing list