JIT stops compiling after a while (java 7)

Martin Traverso mtraverso at gmail.com
Wed Aug 14 23:24:20 PDT 2013


> We have several bugs opened and we are working on them.
>

Is there a bug report you could point me to?



>
> You can try to play with next 2 flags to see if it helps:
>
> product(intx,  MinCodeCacheFlushingInterval, 30,
>         "Min number of seconds between code cache cleaning sessions")
>
> product(uintx,  CodeCacheFlushingMinimumFreeSp**ace, 1500*K,
>        "When less than X space left, start code cache cleaning")
>
>
Tweaking these didn't seem to help.



> If you can build fastdebug VM you can run it with -XX:+PrintMethodFlushing
> to see what happened.
>
>
Here's a sample trace with PrintCompilation, PrintGCDetails and
PrintMethodFlushing:

https://github.com/martint/jittest/blob/master/stats-7u40-fastdebug.txt

I can see GC events, and a bunch of messages from the sweeper, but not a
single "flushing nmethod".


Here's another run with the variant that calls System.gc() every second.
This one does show "flushing nmethod" messages:

https://github.com/martint/jittest/blob/master/stats-7u40-fastdebug-force-gc.txt


Do you have normal GC events (young gen collections) -XX:+PrintGCDetails?
> Methods usage marking and CodeCache sweeping initiation happen only during
> safepoints (usually when GC is needed) when all java threads are stopped.
>

Yes, there are normal GC events throughout the entire execution.


Thanks,
Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20130814/d52207bc/attachment.html 


More information about the hotspot-compiler-dev mailing list