JIT threshold, priority queue

steve goldman Steve.Goldman at Sun.COM
Tue May 29 05:47:09 PDT 2007

Nima Gougol wrote:
> Hello everybody. Here I am trying to optimize Hotspot JDK 7. You guys know
> hotspot schedule hot methods whose usage frequency is higher than a fixed
> threshold through a FIFO queue for Just-In-Time compilation. I am trying to
> enhance this method with dynamic threshold and priority queues. I have
> already done some modifications. I have two problems.
> First, I need to trace the queue of methods that are scheduled for JIT
> compilations and see and compare my new policy with the default. How can I
> trace and log methods that are queue for JIT compilation?

-XX:+UnlockDiagnosticVMOptions -XX:+LogCompilation

this will give way more output than you want but it will show when 
methods a queued and the time stamp and it will also show when they are 
compiled and installed.

> Second, I am trying to add to constants in through the file,
> src/share/vm/opto/c2_globals.hpp in order to use in my implementations for
> instance in file src/share/vm/oops/methodOop.hpp. But while making the
> hotpsot, compiler produce error that these identifiers are not defined. I
> think this is due to my way of building. Please let me know how I should 
> add
> these identifiers and build hotspot.
> product(intx, CICompilerQueueType, 1,                                     \
>          "Compiler Queue Algorithm to use")
> \
> \
>  product(intx, PairQueueLength, 10,
> \
>          "Max Length of Pair Queue")
> \

that's the correct of adding a global switch for server only code. Are 
you build client when you get the errors? If you need it for both 
compilers you probably want to put these in globals.hpp

Be aware that the counter and triggers in addition to the compile queue 
handling is likely to be changing relatively soon in order to accomodate 
the needs of tiered compilation. Because of how the current counters are 
used to both collect statistics and trigger compilations (plus the 
decaying to make them look like rates) it has been hard to get tiered to 
do what I want. So that triggering mechanism is being pulled apart from 
the statistics.


More information about the hotspot-compiler-dev mailing list