Mercurial > hg > graal-jvmci-8
diff src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 353:9bb2c10ac07b
6723570: G1: assertion failure: p == current_top or oop(p)->is_oop(),"p is not a block start" (revisited!)
Summary: Fixed the incorrect assigment to G1OffsetTableContigSpace::_gc_time_stamp. Also added a little more paranoia to operations on a global timestamp.
Reviewed-by: tonyp
author | iveresov |
---|---|
date | Thu, 10 Jul 2008 09:29:54 -0700 |
parents | 37f87013dfd8 |
children | 0edda524b58c |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Thu Jul 03 03:17:29 2008 -0700 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Thu Jul 10 09:29:54 2008 -0700 @@ -247,7 +247,7 @@ NumberSeq _pop_obj_rc_at_copy; void print_popularity_summary_info() const; - unsigned _gc_time_stamp; + volatile unsigned _gc_time_stamp; size_t* _surviving_young_words; @@ -653,6 +653,12 @@ void reset_gc_time_stamp() { _gc_time_stamp = 0; + OrderAccess::fence(); + } + + void increment_gc_time_stamp() { + ++_gc_time_stamp; + OrderAccess::fence(); } void iterate_dirty_card_closure(bool concurrent, int worker_i);