Thanks Stefan,

 

Yes, i think it's ok as long as the Klass  is not able to "do anything" useful  
- i.e. the Klass is not able to execute anything which would involve its 
traceid. 

So, I would assume the semantics of Klass::restore_unsharable_info() would be 
similar in nature to a constructor? It prepares the Klass for use.

 

As long as the Klass is coming out "prepared" with a unique ID assigned, this 
will be fine.

 

Thanks

Markus

 

 

From: Stefan Karlsson 
Sent: den 24 april 2014 18:30
To: Markus Grönlund; serviceability-dev@openjdk.java.net 
serviceability-dev@openjdk.java.net; hotspot-runtime-dev
Subject: Re: RFR(XXS): Event Based tracing framework trace_id's to be 
reassigned for CDS klasses

 

Hi Markus,

On 2014-04-24 17:42, Markus Grönlund wrote:

Greetings,

 

Kindly asking for reviews for the following very small fix:

 

Bug: https://bugs.openjdk.java.net/browse/JDK-8041723 

Webrev: HYPERLINK 
"http://cr.openjdk.java.net/%7Emgronlun/8041723/webrev01/"http://cr.openjdk.java.net/~mgronlun/8041723/webrev01/


Klass::restore_unshareable_info() might be called multiple times for a given 
Klass. This can happen if OutOfMemoryErrors is thrown when the Klass is loaded, 
and we later retry to load the Klass. Is it OK to call TRACE_INIT_ID(this) 
multiple times for the same Klass?

thanks,
StefanK



 

Description:

The Event Based tracing framework assigns a unique traceid to Klass:es for 
tracking purposes. 
Normally, a new Klass is assigned it's traceid inside the Klass constructor. 
For Klass:es coming into the system via the ClassDataSharing (CDS) mechanism, 
the old traceid for the Klass will be stale, hence a "new" traceid needs to be 
(re)assigned to the Klass.

 

Thank you

Markus

 

Reply via email to