RFR: 8258894: C2: Forbid GCM to move stores into loops [v2]
Roberto Castañeda Lozano
rcastanedalo at openjdk.java.net
Tue Jan 26 12:32:56 UTC 2021
On Mon, 25 Jan 2021 08:40:57 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:
>> Roberto Castañeda Lozano has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Use NOT_DEBUG_RETURN in PhaseCFG verification functions
>>
>> Move is_memory_writer() test into PhaseCFG::verify_memory_writer_placement(),
>> mark the function as NOT_DEBUG_RETURN, and make it independent of the PRODUCT
>> flag. Apply the same refactoring to PhaseCFG::verify(), for consistency.
>> Simplify callers of both functions accordingly.
>
> src/hotspot/share/opto/block.cpp line 1211:
>
>> 1209: }
>> 1210:
>> 1211: void PhaseCFG::verify_memory_writer_placement(const Block* b, const Node* n) const {
>
> You could wrap the entire method in `#ifdef ASSERT` and use `NOT_DEBUG_RETURN` in the .hpp (similar to `verify_strip_mined`).
Done, thanks!
> src/hotspot/share/opto/block.cpp line 1241:
>
>> 1239: }
>> 1240: if (n->is_memory_writer()) {
>> 1241: verify_memory_writer_placement(block, n);
>
> Other calls to this method are guarded by `#ifdef ASSERT`. Would it make sense to move the `n->is_memory_writer()` into the method, always call it and define it as `NOT_DEBUG_RETURN`?
Done, thanks!
-------------
PR: https://git.openjdk.java.net/jdk/pull/2140
More information about the hotspot-compiler-dev
mailing list