RFR: 8334431: C2 SuperWord: fix performance regression due to store-to-load-forwarding failures [v3]

Emanuel Peter epeter at openjdk.org
Tue Nov 19 15:11:58 UTC 2024


On Tue, 19 Nov 2024 14:58:31 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> src/hotspot/share/opto/vtransform.cpp line 154:
>> 
>>> 152: // Helper-class for VTransformGraph::has_store_to_load_forwarding_failure.
>>> 153: // It represents a memory region: [ptr, ptr + memory_size)
>>> 154: class VPointerRecord : public StackObj {
>> 
>> Not so sure about the name of this class. When first reading the code below (which I reviewed first), I found it difficult to understand its purpose without reading this class comment. How about `VMemoryRegion` or something like that to better show that it's about regions of memory and not single pointers?
>
> @chhagedorn all `VPointer` are in fact memory-regions, and not just zero-length pointers. They have a `MemNode` which gives them a size. That is how we can compute the overlapping / aliasing queries with it...

Actually, it is supposed to be a `VPointer`, but one where we can give some `iv_offset`, i.e. mutate the offset. But ok, I could rename it to `VMemoryRegion`, it would not hurt :)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21521#discussion_r1848540452


More information about the hotspot-compiler-dev mailing list