Mercurial > hg > graal-jvmci-8
comparison 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 |
comparison
equal
deleted
inserted
replaced
352:e0c09f7ec5c4 | 353:9bb2c10ac07b |
---|---|
245 | 245 |
246 // Summary information about popular objects; method to print it. | 246 // Summary information about popular objects; method to print it. |
247 NumberSeq _pop_obj_rc_at_copy; | 247 NumberSeq _pop_obj_rc_at_copy; |
248 void print_popularity_summary_info() const; | 248 void print_popularity_summary_info() const; |
249 | 249 |
250 unsigned _gc_time_stamp; | 250 volatile unsigned _gc_time_stamp; |
251 | 251 |
252 size_t* _surviving_young_words; | 252 size_t* _surviving_young_words; |
253 | 253 |
254 void setup_surviving_young_words(); | 254 void setup_surviving_young_words(); |
255 void update_surviving_young_words(size_t* surv_young_words); | 255 void update_surviving_young_words(size_t* surv_young_words); |
651 return _gc_time_stamp; | 651 return _gc_time_stamp; |
652 } | 652 } |
653 | 653 |
654 void reset_gc_time_stamp() { | 654 void reset_gc_time_stamp() { |
655 _gc_time_stamp = 0; | 655 _gc_time_stamp = 0; |
656 OrderAccess::fence(); | |
657 } | |
658 | |
659 void increment_gc_time_stamp() { | |
660 ++_gc_time_stamp; | |
661 OrderAccess::fence(); | |
656 } | 662 } |
657 | 663 |
658 void iterate_dirty_card_closure(bool concurrent, int worker_i); | 664 void iterate_dirty_card_closure(bool concurrent, int worker_i); |
659 | 665 |
660 // The shared block offset table array. | 666 // The shared block offset table array. |