Review Request (S): 8002364 - compile_id is not unique when CICountOSR is set

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Nov 8 08:54:54 PST 2012


On Nov 8, 2012, at 7:15 AM, Nils Eliasson wrote:

> When developing the compiler events for JFR i noticed that the compile IDs where not always unique. And that guarantee is needed. The CICountOSR flag (default in develop) makes the compile_id be used as an osr_id instead. This can cause confusion when used with JFR. And it is never wrong to have a dependable unique id.

It is not true. Vladimir I. changed the flag default value to false in recent changes for 7177003.
Also in our developing environment we will not use JFR but we want a functionality which help us debug problems. So I would like to keep the flag and have a separate number in output (tty and LogCompilation log) for osr_id if the flag is on. So I agree with your general changes but you need to add more code.

To have separate osr_id is useful because usually it is more consistent between different runs than compile_id (OSR compilations are not frequent).

Thanks,
Vladimir

> 
> I suggest this change that makes us always have unique compile ID while keeping the osr_id separately.
> 
> http://cr.openjdk.java.net/~neliasso/8002364/webrev.03/ <http://cr.openjdk.java.net/%7Eneliasso/8002364/webrev.03/>
> 
> This has the consequences:
> Flag CICountOSR is removed - the functionality is there always anyway.
> Flag CIBreakAtOSR,  CIStartOSR and CIStopOSR is still in use but the osr ID isn't printed in the compilation log, so it may be a little harder to use.
> 
> I considered removing the CIBreakAtOSR flag and then there was no need for saving the osr_id after the CIStart/StopOSR check. That would make the code a bit nicer (and save a field).
> I have kept the osr_id increment behavior making the code slightly more complex.
> 
> //Nils



More information about the hotspot-compiler-dev mailing list