1372 // Added if it is NULL it isn't dead.
1373
1374 inline bool is_obj_dead(const oop obj) const;
1375
1376 inline bool is_obj_ill(const oop obj) const;
1377
1378 G1ConcurrentMark* concurrent_mark() const { return _cm; }
1379
1380 // Refinement
1381
1382 ConcurrentG1Refine* concurrent_g1_refine() const { return _cg1r; }
1383
1384 // Optimized nmethod scanning support routines
1385
1386 // Register the given nmethod with the G1 heap.
1387 virtual void register_nmethod(nmethod* nm);
1388
1389 // Unregister the given nmethod from the G1 heap.
1390 virtual void unregister_nmethod(nmethod* nm);
1391
1392 // Free up superfluous code root memory.
1393 void purge_code_root_memory();
1394
1395 // Rebuild the strong code root lists for each region
1396 // after a full GC.
1397 void rebuild_strong_code_roots();
1398
1399 // Partial cleaning used when class unloading is disabled.
1400 // Let the caller choose what structures to clean out:
1401 // - StringTable
1402 // - SymbolTable
1403 // - StringDeduplication structures
1404 void partial_cleaning(BoolObjectClosure* is_alive, bool unlink_strings, bool unlink_symbols, bool unlink_string_dedup);
1405
1406 // Complete cleaning used when class unloading is enabled.
1407 // Cleans out all structures handled by partial_cleaning and also the CodeCache.
1408 void complete_cleaning(BoolObjectClosure* is_alive, bool class_unloading_occurred);
1409
1410 // Redirty logged cards in the refinement queue.
1411 void redirty_logged_cards();
1418
1419 // vo == UsePrevMarking -> use "prev" marking information,
1420 // vo == UseNextMarking -> use "next" marking information
1421 // vo == UseMarkWord -> use the mark word in the object header
1422 //
1423 // NOTE: Only the "prev" marking information is guaranteed to be
1424 // consistent most of the time, so most calls to this should use
1425 // vo == UsePrevMarking.
1426 // Currently, there is only one case where this is called with
1427 // vo == UseNextMarking, which is to verify the "next" marking
1428 // information at the end of remark.
1429 // Currently there is only one place where this is called with
1430 // vo == UseMarkWord, which is to verify the marking during a
1431 // full GC.
1432 void verify(VerifyOption vo);
1433
1434 // WhiteBox testing support.
1435 virtual bool supports_concurrent_phase_control() const;
1436 virtual const char* const* concurrent_phases() const;
1437 virtual bool request_concurrent_phase(const char* phase);
1438
1439 void verify_nmethod_roots(nmethod* nmethod);
1440
1441 // The methods below are here for convenience and dispatch the
1442 // appropriate method depending on value of the given VerifyOption
1443 // parameter. The values for that parameter, and their meanings,
1444 // are the same as those above.
1445
1446 bool is_obj_dead_cond(const oop obj,
1447 const HeapRegion* hr,
1448 const VerifyOption vo) const;
1449
1450 bool is_obj_dead_cond(const oop obj,
1451 const VerifyOption vo) const;
1452
1453 G1HeapSummary create_g1_heap_summary();
1454 G1EvacSummary create_g1_evac_summary(G1EvacStats* stats);
1455
1456 // Printing
1457 private:
1458 void print_heap_regions() const;
1459 void print_regions_on(outputStream* st) const;
|
1372 // Added if it is NULL it isn't dead.
1373
1374 inline bool is_obj_dead(const oop obj) const;
1375
1376 inline bool is_obj_ill(const oop obj) const;
1377
1378 G1ConcurrentMark* concurrent_mark() const { return _cm; }
1379
1380 // Refinement
1381
1382 ConcurrentG1Refine* concurrent_g1_refine() const { return _cg1r; }
1383
1384 // Optimized nmethod scanning support routines
1385
1386 // Register the given nmethod with the G1 heap.
1387 virtual void register_nmethod(nmethod* nm);
1388
1389 // Unregister the given nmethod from the G1 heap.
1390 virtual void unregister_nmethod(nmethod* nm);
1391
1392 virtual void verify_nmethod_roots(nmethod* nmethod) {}
1393
1394 // Free up superfluous code root memory.
1395 void purge_code_root_memory();
1396
1397 // Rebuild the strong code root lists for each region
1398 // after a full GC.
1399 void rebuild_strong_code_roots();
1400
1401 // Partial cleaning used when class unloading is disabled.
1402 // Let the caller choose what structures to clean out:
1403 // - StringTable
1404 // - SymbolTable
1405 // - StringDeduplication structures
1406 void partial_cleaning(BoolObjectClosure* is_alive, bool unlink_strings, bool unlink_symbols, bool unlink_string_dedup);
1407
1408 // Complete cleaning used when class unloading is enabled.
1409 // Cleans out all structures handled by partial_cleaning and also the CodeCache.
1410 void complete_cleaning(BoolObjectClosure* is_alive, bool class_unloading_occurred);
1411
1412 // Redirty logged cards in the refinement queue.
1413 void redirty_logged_cards();
1420
1421 // vo == UsePrevMarking -> use "prev" marking information,
1422 // vo == UseNextMarking -> use "next" marking information
1423 // vo == UseMarkWord -> use the mark word in the object header
1424 //
1425 // NOTE: Only the "prev" marking information is guaranteed to be
1426 // consistent most of the time, so most calls to this should use
1427 // vo == UsePrevMarking.
1428 // Currently, there is only one case where this is called with
1429 // vo == UseNextMarking, which is to verify the "next" marking
1430 // information at the end of remark.
1431 // Currently there is only one place where this is called with
1432 // vo == UseMarkWord, which is to verify the marking during a
1433 // full GC.
1434 void verify(VerifyOption vo);
1435
1436 // WhiteBox testing support.
1437 virtual bool supports_concurrent_phase_control() const;
1438 virtual const char* const* concurrent_phases() const;
1439 virtual bool request_concurrent_phase(const char* phase);
1440
1441 // The methods below are here for convenience and dispatch the
1442 // appropriate method depending on value of the given VerifyOption
1443 // parameter. The values for that parameter, and their meanings,
1444 // are the same as those above.
1445
1446 bool is_obj_dead_cond(const oop obj,
1447 const HeapRegion* hr,
1448 const VerifyOption vo) const;
1449
1450 bool is_obj_dead_cond(const oop obj,
1451 const VerifyOption vo) const;
1452
1453 G1HeapSummary create_g1_heap_summary();
1454 G1EvacSummary create_g1_evac_summary(G1EvacStats* stats);
1455
1456 // Printing
1457 private:
1458 void print_heap_regions() const;
1459 void print_regions_on(outputStream* st) const;
|