440 static void run_finalizers_on_exit(); 441 442 // Iteration 443 444 // Apply "f" to the addresses of all the direct heap pointers maintained 445 // as static fields of "Universe". 446 static void oops_do(OopClosure* f, bool do_all = false); 447 448 // CDS support 449 static void serialize(SerializeClosure* f, bool do_all = false); 450 451 // Apply "f" to all klasses for basic types (classes not present in 452 // SystemDictionary). 453 static void basic_type_classes_do(void f(Klass*)); 454 455 // For sharing -- fill in a list of known vtable pointers. 456 static void init_self_patching_vtbl_list(void** list, int count); 457 458 // Debugging 459 static bool verify_in_progress() { return _verify_in_progress; } 460 static void verify(VerifyOption option, const char* prefix, bool silent = VerifySilently); 461 static void verify(const char* prefix, bool silent = VerifySilently) { 462 verify(VerifyOption_Default, prefix, silent); 463 } 464 static void verify(bool silent = VerifySilently) { 465 verify("", silent); 466 } 467 468 static int verify_count() { return _verify_count; } 469 // The default behavior is to call print_on() on gclog_or_tty. 470 static void print(); 471 // The extended parameter determines which method on the heap will 472 // be called: print_on() (extended == false) or print_extended_on() 473 // (extended == true). 474 static void print_on(outputStream* st, bool extended = false); 475 static void print_heap_at_SIGBREAK(); 476 static void print_heap_before_gc() { print_heap_before_gc(gclog_or_tty); } 477 static void print_heap_after_gc() { print_heap_after_gc(gclog_or_tty); } 478 static void print_heap_before_gc(outputStream* st, bool ignore_extended = false); 479 static void print_heap_after_gc(outputStream* st, bool ignore_extended = false); 480 481 // Change the number of dummy objects kept reachable by the full gc dummy 482 // array; this should trigger relocation in a sliding compaction collector. 483 debug_only(static bool release_fullgc_alot_dummy();) 484 // The non-oop pattern (see compiledIC.hpp, etc) 485 static void* non_oop_word(); 486 487 // Oop verification (see MacroAssembler::verify_oop) 488 static uintptr_t verify_oop_mask() PRODUCT_RETURN0; 489 static uintptr_t verify_oop_bits() PRODUCT_RETURN0; 490 static uintptr_t verify_mark_bits() PRODUCT_RETURN0; 491 static uintptr_t verify_mark_mask() PRODUCT_RETURN0; 492 493 // Compiler support 494 static int base_vtable_size() { return _base_vtable_size; } 495 }; 496 497 class DeferredObjAllocEvent : public CHeapObj<mtInternal> { 498 private: 499 oop _oop; | 440 static void run_finalizers_on_exit(); 441 442 // Iteration 443 444 // Apply "f" to the addresses of all the direct heap pointers maintained 445 // as static fields of "Universe". 446 static void oops_do(OopClosure* f, bool do_all = false); 447 448 // CDS support 449 static void serialize(SerializeClosure* f, bool do_all = false); 450 451 // Apply "f" to all klasses for basic types (classes not present in 452 // SystemDictionary). 453 static void basic_type_classes_do(void f(Klass*)); 454 455 // For sharing -- fill in a list of known vtable pointers. 456 static void init_self_patching_vtbl_list(void** list, int count); 457 458 // Debugging 459 static bool verify_in_progress() { return _verify_in_progress; } 460 static void verify(VerifyOption option, const char* prefix); 461 static void verify(const char* prefix) { 462 verify(VerifyOption_Default, prefix); 463 } 464 static void verify() { 465 verify(""); 466 } 467 468 static int verify_count() { return _verify_count; } 469 static void print_on(outputStream* st); 470 static void print_heap_at_SIGBREAK(); 471 static void print_heap_before_gc(); 472 static void print_heap_after_gc(); 473 474 // Change the number of dummy objects kept reachable by the full gc dummy 475 // array; this should trigger relocation in a sliding compaction collector. 476 debug_only(static bool release_fullgc_alot_dummy();) 477 // The non-oop pattern (see compiledIC.hpp, etc) 478 static void* non_oop_word(); 479 480 // Oop verification (see MacroAssembler::verify_oop) 481 static uintptr_t verify_oop_mask() PRODUCT_RETURN0; 482 static uintptr_t verify_oop_bits() PRODUCT_RETURN0; 483 static uintptr_t verify_mark_bits() PRODUCT_RETURN0; 484 static uintptr_t verify_mark_mask() PRODUCT_RETURN0; 485 486 // Compiler support 487 static int base_vtable_size() { return _base_vtable_size; } 488 }; 489 490 class DeferredObjAllocEvent : public CHeapObj<mtInternal> { 491 private: 492 oop _oop; |