equal
deleted
inserted
replaced
1002 } |
1002 } |
1003 |
1003 |
1004 HeapWord* G1OffsetTableContigSpace::saved_mark_word() const { |
1004 HeapWord* G1OffsetTableContigSpace::saved_mark_word() const { |
1005 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
1005 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
1006 assert( _gc_time_stamp <= g1h->get_gc_time_stamp(), "invariant" ); |
1006 assert( _gc_time_stamp <= g1h->get_gc_time_stamp(), "invariant" ); |
1007 if (_gc_time_stamp < g1h->get_gc_time_stamp()) |
1007 HeapWord* local_top = top(); |
1008 return top(); |
1008 OrderAccess::loadload(); |
1009 else |
1009 if (_gc_time_stamp < g1h->get_gc_time_stamp()) { |
|
1010 return local_top; |
|
1011 } else { |
1010 return Space::saved_mark_word(); |
1012 return Space::saved_mark_word(); |
|
1013 } |
1011 } |
1014 } |
1012 |
1015 |
1013 void G1OffsetTableContigSpace::record_top_and_timestamp() { |
1016 void G1OffsetTableContigSpace::record_top_and_timestamp() { |
1014 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
1017 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
1015 unsigned curr_gc_time_stamp = g1h->get_gc_time_stamp(); |
1018 unsigned curr_gc_time_stamp = g1h->get_gc_time_stamp(); |