Restrictions for lock coarsening?

Christian Thalinger christian.thalinger at gmail.com
Thu Jan 8 11:39:12 PST 2009


On Thu, 2009-01-08 at 11:06 -0800, Tom Rodriguez wrote:
> The delay is actually a timeout for a periodic one-shot task so I  
> don't think it triggers until the initial jvm bootstrap finishes.  It  
> before main runs though so it should get everything interesting.  A  
> absolutely accurate comparison would require modifying the VM.

When using zero as timeout, BiasedLocking::init() instantiates
VM_EnableBiasedLocking right away without using the one-shot task:

    if (BiasedLockingStartupDelay > 0) {
      EnableBiasedLockingTask* task = new EnableBiasedLockingTask(BiasedLockingStartupDelay);
      task->enroll();
    } else {
      VM_EnableBiasedLocking op(false);
      VMThread::execute(&op);
    }

But the BiasedLocking::init() call is almost the last call in
Thread::create_vm().  So, some locks may have already been created.  But
this is just a guess.

- Christian




More information about the hotspot-runtime-dev mailing list