Mercurial > hg > truffle
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); } |