1368 // Printing
1369 private:
1370 void print_heap_regions() const;
1371 void print_regions_on(outputStream* st) const;
1372
1373 public:
1374 virtual void print_on(outputStream* st) const;
1375 virtual void print_extended_on(outputStream* st) const;
1376 virtual void print_on_error(outputStream* st) const;
1377
1378 virtual void print_gc_threads_on(outputStream* st) const;
1379 virtual void gc_threads_do(ThreadClosure* tc) const;
1380
1381 // Override
1382 void print_tracing_info() const;
1383
1384 // The following two methods are helpful for debugging RSet issues.
1385 void print_cset_rsets() PRODUCT_RETURN;
1386 void print_all_rsets() PRODUCT_RETURN;
1387
1388 public:
1389 size_t pending_card_num();
1390
1391 private:
1392 size_t _max_heap_capacity;
1393 };
1394
1395 class G1ParEvacuateFollowersClosure : public VoidClosure {
1396 private:
1397 double _start_term;
1398 double _term_time;
1399 size_t _term_attempts;
1400
1401 void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); }
1402 void end_term_time() { _term_time += os::elapsedTime() - _start_term; }
1403 protected:
1404 G1CollectedHeap* _g1h;
1405 G1ParScanThreadState* _par_scan_state;
1406 RefToScanQueueSet* _queues;
1407 ParallelTaskTerminator* _terminator;
1408
1409 G1ParScanThreadState* par_scan_state() { return _par_scan_state; }
1410 RefToScanQueueSet* queues() { return _queues; }
1411 ParallelTaskTerminator* terminator() { return _terminator; }
1412
|
1368 // Printing
1369 private:
1370 void print_heap_regions() const;
1371 void print_regions_on(outputStream* st) const;
1372
1373 public:
1374 virtual void print_on(outputStream* st) const;
1375 virtual void print_extended_on(outputStream* st) const;
1376 virtual void print_on_error(outputStream* st) const;
1377
1378 virtual void print_gc_threads_on(outputStream* st) const;
1379 virtual void gc_threads_do(ThreadClosure* tc) const;
1380
1381 // Override
1382 void print_tracing_info() const;
1383
1384 // The following two methods are helpful for debugging RSet issues.
1385 void print_cset_rsets() PRODUCT_RETURN;
1386 void print_all_rsets() PRODUCT_RETURN;
1387
1388 size_t pending_card_num();
1389 };
1390
1391 class G1ParEvacuateFollowersClosure : public VoidClosure {
1392 private:
1393 double _start_term;
1394 double _term_time;
1395 size_t _term_attempts;
1396
1397 void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); }
1398 void end_term_time() { _term_time += os::elapsedTime() - _start_term; }
1399 protected:
1400 G1CollectedHeap* _g1h;
1401 G1ParScanThreadState* _par_scan_state;
1402 RefToScanQueueSet* _queues;
1403 ParallelTaskTerminator* _terminator;
1404
1405 G1ParScanThreadState* par_scan_state() { return _par_scan_state; }
1406 RefToScanQueueSet* queues() { return _queues; }
1407 ParallelTaskTerminator* terminator() { return _terminator; }
1408
|