RFR: 8281732: add assert for non-NULL assumption for return of unique_ctrl_out [v3]
Tobias Hartmann
thartmann at openjdk.java.net
Wed Feb 16 07:56:11 UTC 2022
On Tue, 15 Feb 2022 07:29:47 GMT, Emanuel Peter <duke at openjdk.java.net> wrote:
>> unique_ctrl_out was used in contexts where NULL may be a valid return, and is also used in contexts where NULL is not expected.
>>
>> I improved the code by having two functions instead:
>> unique_ctrl_out_or_null: return the unique control out, or NULL if there is no or more than one control out.
>> unique_ctrl_out: return the unique control out, assert if there is no or more than one control out.
>>
>> This makes implicit assumptions explicit and also validates them in the future.
>>
>> I changed the usage to unique_ctrl_out_or_null where NULL is among the expected return values.
>>
>> Ran tests to verify that the assert never triggers.
>
> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>
> Require non-Null in some more cases
Looks good to me otherwise.
src/hotspot/share/opto/node.cpp line 2411:
> 2409: Node* ctrl = unique_ctrl_out_or_null();
> 2410: assert(ctrl != NULL, "control out is assumed to be unique");
> 2411: return ctrl;
Suggestion:
Node* ctrl = unique_ctrl_out_or_null();
assert(ctrl != NULL, "control out is assumed to be unique");
return ctrl;
-------------
Marked as reviewed by thartmann (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/7462
More information about the hotspot-compiler-dev
mailing list