RFR: 8180197: Failing assert: id must be initialized

Rickard Bäckman rickard.backman at oracle.com
Wed Jun 7 06:29:28 UTC 2017


Thank you!

On 06/02, Kim Barrett wrote:
> > On Jun 2, 2017, at 5:45 AM, Rickard Bäckman <rickard.backman at oracle.com> wrote:
> > 
> > Hi,
> > 
> > there is a locking / race in ciObjectFactory. The variables
> > _shared_ident_limit and _shared_ci_metadata are supposed to be protected
> > by the volatile _initialized. However since we do double checked locking
> > on at least some platforms we can have a race where _initialized is true
> > but _shared_ident_limit has not yet been updated.
> > 
> > Since this code is only run when the compiler threads are starting,
> > replacing the double checked locking with just check under lock would
> > solve the problem. The code runs once per thread and can't be considered
> > performance critical.
> > 
> > webrev: http://cr.openjdk.java.net/~rbackman/8180197/
> > bug: https://bugs.openjdk.java.net/browse/JDK-8180197
> > 
> > /R
> 
> Looks good.
> 
/R


More information about the hotspot-compiler-dev mailing list