RFR: 8289943: Simplify some object allocation merges [v6]
Vladimir Kozlov
kvn at openjdk.org
Wed Sep 28 18:13:25 UTC 2022
On Wed, 28 Sep 2022 00:38:10 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:
>> @JohnTortugo Yes, you would need to construct Phi when you replace RAM with `SafePointScalarObjectNode`. Hmm, may be you would need to construct Phi in other cases too (getClass intrinsic).
>>
>> Add cases when class is loaded from argument for allocation: `Unsafe.allocateInstance()` and `Object.clone()` to test class Load instead of simple constant on some paths of such Phi.
>>
>> Why you need Phi for mark word? For identity check (hashCode/identityHashCode intrinsics)?
>
> Hi @vnkozlov - I pushed some changes that I think address the comments that you made. I also had to add another constraint to reducing the allocations: for now, I won't be reducing merges of SR and NSR allocations. I'll definitely work on that in a subsequent patch.
>
> Thank you again for reviewing and I'd appreciate it very much if you could check if the patch doesn't break any of your tests.
@JohnTortugo Good news is that I ran from tier1 to tier4 and with `ReduceAllocationMerges` enabled and I did not get new failures except in your new test `compiler/c2/irTests/scalarReplacement/AllocationMergesTests.java` when it run with `-ea -esa -XX:CompileThreshold=100 -XX:-TieredCompilation` flags.
I put failed test's output to RFE.
-------------
PR: https://git.openjdk.org/jdk/pull/9073
More information about the hotspot-compiler-dev
mailing list