[13] RFR (S): 8161334: C2: Cast nodes hinder memory alias analysis
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Feb 13 17:51:06 UTC 2019
Should you also take into account casts in following Allocation checks
at line #1072?
Thanks,
Vladimir
On 2/12/19 2:32 PM, Vladimir Ivanov wrote:
> http://cr.openjdk.java.net/~vlivanov/8161334/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8161334
>
> The following IR is produced for the slow case reported in the bug:
>
> B = CastPP (DecodeN ...) // ...$C:NotNull
> S = StoreI M (AddP ( B) #off) V // ...$C:NotNull
> L = LoadI S (AddP (CheckCastPP B) #off) // ...$C:NotNull:exact
>
> MemNode::can_see_stored_value() can't prove S & L access the same
> location since AddPs are different (since base nodes differ). There's a
> special case there, but only when Allocate is a base.
>
> Proposed patch generalizes existing Allocate case to the case when both
> base & offset are known to be the same.
>
> Testing: hs-precheckin-comp, tier1-5
>
> Best regards,
> Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list