comparison src/share/vm/memory/universe.hpp @ 3772:6747fd0512e0

7004681: G1: Extend marking verification to Full GCs Summary: Perform a heap verification after the first phase of G1's full GC using objects' mark words to determine liveness. The third parameter of the heap verification routines, which was used in G1 to determine which marking bitmap to use in liveness calculations, has been changed from a boolean to an enum with values defined for using the mark word, and the 'prev' and 'next' bitmaps. Reviewed-by: tonyp, ysr
author johnc
date Tue, 14 Jun 2011 11:01:10 -0700
parents 1d1603768966
children fdb992d83a87
comparison
equal deleted inserted replaced
3771:842b840e67db 3772:6747fd0512e0
107 int _shift; 107 int _shift;
108 // Generate code with implicit null checks for narrow oops. 108 // Generate code with implicit null checks for narrow oops.
109 bool _use_implicit_null_checks; 109 bool _use_implicit_null_checks;
110 }; 110 };
111 111
112 enum VerifyOption {
113 VerifyOption_Default = 0,
114
115 // G1
116 VerifyOption_G1UsePrevMarking = VerifyOption_Default,
117 VerifyOption_G1UseNextMarking = VerifyOption_G1UsePrevMarking + 1,
118 VerifyOption_G1UseMarkWord = VerifyOption_G1UseNextMarking + 1
119 };
112 120
113 class Universe: AllStatic { 121 class Universe: AllStatic {
114 // Ugh. Universe is much too friendly. 122 // Ugh. Universe is much too friendly.
115 friend class MarkSweep; 123 friend class MarkSweep;
116 friend class oopDesc; 124 friend class oopDesc;
402 // For sharing -- fill in a list of known vtable pointers. 410 // For sharing -- fill in a list of known vtable pointers.
403 static void init_self_patching_vtbl_list(void** list, int count); 411 static void init_self_patching_vtbl_list(void** list, int count);
404 412
405 // Debugging 413 // Debugging
406 static bool verify_in_progress() { return _verify_in_progress; } 414 static bool verify_in_progress() { return _verify_in_progress; }
407 static void verify(bool allow_dirty = true, bool silent = false, bool option = true); 415 static void verify(bool allow_dirty = true, bool silent = false,
416 VerifyOption option = VerifyOption_Default );
408 static int verify_count() { return _verify_count; } 417 static int verify_count() { return _verify_count; }
409 static void print(); 418 static void print();
410 static void print_on(outputStream* st); 419 static void print_on(outputStream* st);
411 static void print_heap_at_SIGBREAK(); 420 static void print_heap_at_SIGBREAK();
412 static void print_heap_before_gc() { print_heap_before_gc(gclog_or_tty); } 421 static void print_heap_before_gc() { print_heap_before_gc(gclog_or_tty); }