< prev index next >

src/share/vm/gc/parallel/gcTaskThread.cpp

Print this page




 160 
 161           // Update the index after we have set up the entry correctly since
 162           // GCTaskThread::print_task_time_stamps() may read this value concurrently.
 163           _time_stamp_index++;
 164         }
 165       } else {
 166         // idle tasks complete outside the normal accounting
 167         // so that a task can complete without waiting for idle tasks.
 168         // They have to be terminated separately.
 169         IdleGCTask::destroy((IdleGCTask*)task);
 170         set_is_working(true);
 171       }
 172 
 173       // Check if we should release our inner resources.
 174       if (manager()->should_release_resources(which())) {
 175         manager()->note_release(which());
 176         break;
 177       }
 178     }
 179   }

 180 }


 160 
 161           // Update the index after we have set up the entry correctly since
 162           // GCTaskThread::print_task_time_stamps() may read this value concurrently.
 163           _time_stamp_index++;
 164         }
 165       } else {
 166         // idle tasks complete outside the normal accounting
 167         // so that a task can complete without waiting for idle tasks.
 168         // They have to be terminated separately.
 169         IdleGCTask::destroy((IdleGCTask*)task);
 170         set_is_working(true);
 171       }
 172 
 173       // Check if we should release our inner resources.
 174       if (manager()->should_release_resources(which())) {
 175         manager()->note_release(which());
 176         break;
 177       }
 178     }
 179   }
 180   NOT_PRODUCT(ShouldNotReachHere()); // should never terminate
 181 }
< prev index next >