RFR: 8078743: AARCH64: Extend use of stlr to cater for volatile object stores

Andrew Dinn adinn at redhat.com
Fri Jul 31 10:33:42 UTC 2015


Hi Vladimir,

Thank you very much for the feedback.

On 30/07/15 20:19, Vladimir Kozlov wrote:
> First, thank you for extensive comments - they help.

They were a necessity for me as much as anyone else :-)

> Second, does it really help? I don't see any numbers.

Hmm, running on prejudice, maybe try science? good idea!

I will obtain numbers.

> Next pattern (returning NULL or false) is repeater several times. May be
> make separate function for it.
> 
> 
> +    if (opcode != Op_MemBarRelease) {
> +      if (opcode != Op_MemBarCPUOrder)
> +        return NULL;
> +      MemBarNode *parent = parent_membar(leading);
> +      if (!parent || !parent->Opcode() == Op_MemBarRelease)
> +        return NULL;
> +    }

Yes, that's a very good idea.

> Can you replace retry_feed: with while(cond) ?

Of course.

> Next could be one line Node *x = training
> +    Node *x;
> +    // the Mem feed to the membar should be a merge
> +    x = trailing->in(TypeFunc::Memory);

Yes, I agree.

I'll post a revised webrev with the above fixed after I obtain some
performance figures.

regards,


Andrew Dinn
-----------



More information about the hotspot-compiler-dev mailing list