< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp

Print this page
rev 57895 : [mq]: 8215297-remove-ptt


 323   void clear();
 324 
 325 #if TASKQUEUE_STATS
 326   static void print_taskqueue_stats_hdr(outputStream* const st);
 327   void print_taskqueue_stats() const;
 328   void reset_taskqueue_stats();
 329 #endif // TASKQUEUE_STATS
 330 };
 331 
 332 class ShenandoahTerminatorTerminator : public TerminatorTerminator {
 333 private:
 334   ShenandoahHeap* _heap;
 335 public:
 336   ShenandoahTerminatorTerminator(ShenandoahHeap* const heap) : _heap(heap) { }
 337   // return true, terminates immediately, even if there's remaining work left
 338   virtual bool should_exit_termination() { return _heap->cancelled_gc(); }
 339 };
 340 
 341 class ShenandoahTaskTerminator : public StackObj {
 342 private:
 343   OWSTTaskTerminator* const   _terminator;
 344 public:
 345   ShenandoahTaskTerminator(uint n_threads, TaskQueueSetSuper* queue_set);
 346   ~ShenandoahTaskTerminator();
 347 
 348   bool offer_termination(ShenandoahTerminatorTerminator* terminator) {
 349     return _terminator->offer_termination(terminator);
 350   }
 351 
 352   void reset_for_reuse() { _terminator->reset_for_reuse(); }
 353   bool offer_termination() { return offer_termination((ShenandoahTerminatorTerminator*)NULL); }
 354 };
 355 
 356 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP


 323   void clear();
 324 
 325 #if TASKQUEUE_STATS
 326   static void print_taskqueue_stats_hdr(outputStream* const st);
 327   void print_taskqueue_stats() const;
 328   void reset_taskqueue_stats();
 329 #endif // TASKQUEUE_STATS
 330 };
 331 
 332 class ShenandoahTerminatorTerminator : public TerminatorTerminator {
 333 private:
 334   ShenandoahHeap* _heap;
 335 public:
 336   ShenandoahTerminatorTerminator(ShenandoahHeap* const heap) : _heap(heap) { }
 337   // return true, terminates immediately, even if there's remaining work left
 338   virtual bool should_exit_termination() { return _heap->cancelled_gc(); }
 339 };
 340 
 341 class ShenandoahTaskTerminator : public StackObj {
 342 private:
 343   OWSTTaskTerminator _terminator;
 344 public:
 345   ShenandoahTaskTerminator(uint n_threads, TaskQueueSetSuper* queue_set);

 346 
 347   bool offer_termination(ShenandoahTerminatorTerminator* terminator) {
 348     return _terminator.offer_termination(terminator);
 349   }
 350 
 351   void reset_for_reuse() { _terminator.reset_for_reuse(); }
 352   bool offer_termination() { return offer_termination((ShenandoahTerminatorTerminator*)NULL); }
 353 };
 354 
 355 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHTASKQUEUE_HPP
< prev index next >