RFR: 8281548: Add escape analysis tracing flag [v4]

Jorn Vernee jvernee at openjdk.java.net
Wed Feb 23 14:47:24 UTC 2022


On Wed, 16 Feb 2022 19:44:24 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Review comments
>
> src/hotspot/share/opto/escape.cpp line 1148:
> 
>> 1146:             }
>> 1147:           }
>> 1148:           set_escape_state(arg_ptn, es NOT_PRODUCT(COMMA "reason unknown (1)"));
> 
> Transition here is `NoEscape` -> `ArgEscape`. So the reason could be "is argument".

Thanks for the suggestion. I think we can use `trace_arg_escape_message` here to also print out the relevant call node. The message would then be `escapes as arg to call: [call node]`

> src/hotspot/share/opto/escape.cpp line 3169:
> 
>> 3167:         alloc->as_Allocate()->_is_scalar_replaceable = true;
>> 3168:       }
>> 3169:       set_escape_state(ptnode_adr(n->_idx), es NOT_PRODUCT(COMMA "reason unknown (2)")); // CheckCastPP escape state
> 
> Escape state of allocation is assigned to CheckCastPP node. `es` value should be `NoEscape` - see line 3109.
> May be reason should be "assign state of related Allocation".

Thanks. We can use `trace_propagate_message` to also print out the source allocation node `ptn`. The message would then be `propagated from: [relevant Allocation PointsToNode]`.

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

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


More information about the hotspot-compiler-dev mailing list