< prev index next >

src/share/vm/gc/g1/g1ParScanThreadState.hpp

Print this page
rev 12906 : [mq]: gc_interface

*** 24,38 **** #ifndef SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP #define SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP #include "gc/g1/dirtyCardQueue.hpp" #include "gc/g1/g1CollectedHeap.hpp" #include "gc/g1/g1OopClosures.hpp" #include "gc/g1/g1Policy.hpp" #include "gc/g1/g1RemSet.hpp" - #include "gc/g1/g1SATBCardTableModRefBS.hpp" #include "gc/shared/ageTable.hpp" #include "memory/allocation.hpp" #include "oops/oop.hpp" class G1PLABAllocator; --- 24,38 ---- #ifndef SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP #define SHARE_VM_GC_G1_G1PARSCANTHREADSTATE_HPP #include "gc/g1/dirtyCardQueue.hpp" + #include "gc/g1/g1CardTable.hpp" #include "gc/g1/g1CollectedHeap.hpp" #include "gc/g1/g1OopClosures.hpp" #include "gc/g1/g1Policy.hpp" #include "gc/g1/g1RemSet.hpp" #include "gc/shared/ageTable.hpp" #include "memory/allocation.hpp" #include "oops/oop.hpp" class G1PLABAllocator;
*** 43,53 **** class G1ParScanThreadState : public CHeapObj<mtGC> { private: G1CollectedHeap* _g1h; RefToScanQueue* _refs; DirtyCardQueue _dcq; ! G1SATBCardTableModRefBS* _ct_bs; G1EvacuationRootClosures* _closures; G1PLABAllocator* _plab_allocator; AgeTable _age_table; --- 43,53 ---- class G1ParScanThreadState : public CHeapObj<mtGC> { private: G1CollectedHeap* _g1h; RefToScanQueue* _refs; DirtyCardQueue _dcq; ! G1CardTable* _ct; G1EvacuationRootClosures* _closures; G1PLABAllocator* _plab_allocator; AgeTable _age_table;
*** 70,80 **** bool _old_gen_is_full; #define PADDING_ELEM_NUM (DEFAULT_CACHE_LINE_SIZE / sizeof(size_t)) DirtyCardQueue& dirty_card_queue() { return _dcq; } ! G1SATBCardTableModRefBS* ctbs() { return _ct_bs; } InCSetState dest(InCSetState original) const { assert(original.is_valid(), "Original state invalid: " CSETSTATE_FORMAT, original.value()); assert(_dest[original.value()].is_valid_gen(), --- 70,80 ---- bool _old_gen_is_full; #define PADDING_ELEM_NUM (DEFAULT_CACHE_LINE_SIZE / sizeof(size_t)) DirtyCardQueue& dirty_card_queue() { return _dcq; } ! G1CardTable* ct() { return _ct; } InCSetState dest(InCSetState original) const { assert(original.is_valid(), "Original state invalid: " CSETSTATE_FORMAT, original.value()); assert(_dest[original.value()].is_valid_gen(),
*** 101,114 **** template <class T> void update_rs(HeapRegion* from, T* p, oop o) { // If the new value of the field points to the same region or // is the to-space, we don't need to include it in the Rset updates. if (!HeapRegion::is_in_same_region(p, o) && !from->is_young()) { ! size_t card_index = ctbs()->index_for(p); // If the card hasn't been added to the buffer, do it. ! if (ctbs()->mark_card_deferred(card_index)) { ! dirty_card_queue().enqueue((jbyte*)ctbs()->byte_for_index(card_index)); } } } G1EvacuationRootClosures* closures() { return _closures; } --- 101,114 ---- template <class T> void update_rs(HeapRegion* from, T* p, oop o) { // If the new value of the field points to the same region or // is the to-space, we don't need to include it in the Rset updates. if (!HeapRegion::is_in_same_region(p, o) && !from->is_young()) { ! size_t card_index = ct()->index_for(p); // If the card hasn't been added to the buffer, do it. ! if (ct()->mark_card_deferred(card_index)) { ! dirty_card_queue().enqueue((jbyte*)ct()->byte_for_index(card_index)); } } } G1EvacuationRootClosures* closures() { return _closures; }
< prev index next >