RFR: 8306851: Move Method access flags [v2]
Coleen Phillimore
coleenp at openjdk.org
Thu Apr 27 13:00:55 UTC 2023
On Thu, 27 Apr 2023 12:09:21 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> src/hotspot/share/oops/constMethodFlags.hpp line 53:
>>
>>> 51: flag(has_type_annotations , 1 << 9) \
>>> 52: flag(has_default_annotations , 1 << 10) \
>>> 53: flag(caller_sensitive , 1 << 11) \
>>
>> Nit: we should consistently use either `x` or `is_x` for `x` in `overpass, caller_sensitive, hidden, scoped, ...`
>
> That's my preference too, but I was trying to not change all the callers to is_caller_sensitive, for example, or providing a set of wrappers to change the "x" calls to "is_x" calls to the flags interface.
The 'is' in not_x_compilable can be added without too much fanout of lines and files that I don't want to change, so I added the 'is' to these.
>> src/hotspot/share/oops/method.cpp line 735:
>>
>>> 733: case Bytecodes::_jsr:
>>> 734: if (bcs.dest() < bcs.next_bci()) {
>>> 735: return set_has_loops();
>>
>> I don't understand the new return logic here. The break gets us out of the switch but we are still in the while loop, but the return takes us all the way out. ???
>
> Yes, I had a version of this change where we only let has_loops get set once, and this code set it over and over again, which is unnecessary. Once it's true, it stays true.
The early break and not resetting has_loops once it's true, saves the atomic access also.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13654#discussion_r1179084771
PR Review Comment: https://git.openjdk.org/jdk/pull/13654#discussion_r1179080249
More information about the serviceability-dev
mailing list