Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/utilities/workgroup.cpp
          +++ new/src/share/vm/utilities/workgroup.cpp
↓ open down ↓ 148 lines elided ↑ open up ↑
 149  149                      name(), finished_workers(), total_workers(),
 150  150                      _sequence_number);
 151  151      }
 152  152      monitor()->wait(/* no_safepoint_check */ true);
 153  153    }
 154  154    _task = NULL;
 155  155    if (TraceWorkGang) {
 156  156      tty->print_cr("/nFinished work gang %s: %d/%d sequence %d",
 157  157                    name(), finished_workers(), total_workers(),
 158  158                    _sequence_number);
 159      -    }
      159 +  }
 160  160  }
 161  161  
 162  162  void AbstractWorkGang::stop() {
 163  163    // Tell all workers to terminate, then wait for them to become inactive.
 164  164    MutexLockerEx ml(monitor(), Mutex::_no_safepoint_check_flag);
 165  165    if (TraceWorkGang) {
 166  166      tty->print_cr("Stopping work gang %s task %s", name(), task()->name());
 167  167    }
 168  168    _task = NULL;
 169  169    _terminate = true;
↓ open down ↓ 453 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX