src/hotspot/share/runtime/biasedLocking.cpp
changeset 59325 3636bab5e81e
parent 58226 408c445d04e8
equal deleted inserted replaced
59324:5e8f9713e343 59325:3636bab5e81e
    59 
    59 
    60 class VM_EnableBiasedLocking: public VM_Operation {
    60 class VM_EnableBiasedLocking: public VM_Operation {
    61  public:
    61  public:
    62   VM_EnableBiasedLocking() {}
    62   VM_EnableBiasedLocking() {}
    63   VMOp_Type type() const          { return VMOp_EnableBiasedLocking; }
    63   VMOp_Type type() const          { return VMOp_EnableBiasedLocking; }
    64   Mode evaluation_mode() const    { return _async_safepoint; }
       
    65   bool is_cheap_allocated() const { return true; }
       
    66 
    64 
    67   void doit() {
    65   void doit() {
    68     // Iterate the class loader data dictionaries enabling biased locking for all
    66     // Iterate the class loader data dictionaries enabling biased locking for all
    69     // currently loaded classes.
    67     // currently loaded classes.
    70     ClassLoaderDataGraph::dictionary_classes_do(enable_biased_locking);
    68     ClassLoaderDataGraph::dictionary_classes_do(enable_biased_locking);
    80 class EnableBiasedLockingTask : public PeriodicTask {
    78 class EnableBiasedLockingTask : public PeriodicTask {
    81  public:
    79  public:
    82   EnableBiasedLockingTask(size_t interval_time) : PeriodicTask(interval_time) {}
    80   EnableBiasedLockingTask(size_t interval_time) : PeriodicTask(interval_time) {}
    83 
    81 
    84   virtual void task() {
    82   virtual void task() {
    85     // Use async VM operation to avoid blocking the Watcher thread.
    83     VM_EnableBiasedLocking op;
    86     // VM Thread will free C heap storage.
    84     VMThread::execute(&op);
    87     VM_EnableBiasedLocking *op = new VM_EnableBiasedLocking();
       
    88     VMThread::execute(op);
       
    89 
    85 
    90     // Reclaim our storage and disenroll ourself
    86     // Reclaim our storage and disenroll ourself
    91     delete this;
    87     delete this;
    92   }
    88   }
    93 };
    89 };