RFR: 8227407: ZGC: C2 loads and load barriers can get separated by safepoints

Erik Österlund erik.osterlund at oracle.com
Tue Jul 23 12:20:12 UTC 2019


Hi Stuart,

On 2019-07-23 12:37, Stuart Monteith wrote:
> Hi Erik,
>    I tried applying your patch from:
>      http://cr.openjdk.java.net/~eosterlund/8227407/webrev.03/
>
> and get:
>     patch: **** malformed patch at line 345:    // LoadNode::hash()
> doesn't take the _control_dependency field
>
> If I change the "17" to "18" it does apply successfully:
>   @@ -152,18 +152,16 @@
>
> It is line 323 in the webrev.patch.
> That the line count from before is incorrect is odd. This was applied
> to a fresh repository this morning.

Sorry, that's my bad. I'm an early adopter of the Skara tools, and use git.
There seems to be a bug in the current git based webrev tool that causes 
the patch file to be malformed.
I re-uploaded 03 in-place with a HG based webrev, which should apply.

> The aarch64 code seems fine with the 02 patch, running tier1 tests and
> some other workloads.

Awesome.

> Thanks for adding the verification.

Thanks for taking this for a spin.

/Erik

> BR,
>   Stuart
>
> On Mon, 22 Jul 2019 at 17:51, Erik Österlund <erik.osterlund at oracle.com> wrote:
>> Hi Roland,
>>
>> How about UnknownControl? "Dependency" is kind of implied by the enum type.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~eosterlund/8227407/webrev.03/
>>
>> Incremental:
>> http://cr.openjdk.java.net/~eosterlund/8227407/webrev.02_03/
>>
>> What do you think?
>>
>> Thanks,
>> /Erik
>>
>> On 2019-07-22 16:57, Roland Westrelin wrote:
>>>> How would you feel about adding a new enum value for UnsafePinned, and
>>>> modifying the LoadNode::Ideal transformation to
>>>> explicitly allow the floating if the !depends_only_on_test() ||
>>>> is_unsafe_pinned()?
>>> That's fine with me but the name UnsafePinned wouldn't work because
>>> Pinned is currently used for one thing other than unsafe: some arraycopy
>>> related optimizations. UnknownControlDependency or something shorter?
>>>
>>> Roland.
>>>



More information about the hotspot-compiler-dev mailing list