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

Print this page
rev 6626 : imported patch 8035400-move-g1parscanthreadstate-into-own-files
rev 6627 : imported patch 8035400-2-bengt-fixes
rev 6628 : imported patch 8035401-fix-visibility-of-g1parscanthreadstate
rev 6629 : imported patch 8035401-3-fix-constructor
rev 6630 : imported patch 8035401-2-another-inline-try

*** 96,128 **** dirty_card_queue().enqueue((jbyte*)ctbs()->byte_for_index(card_index)); } } } ! public: G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp); ! ~G1ParScanThreadState() { ! retire_alloc_buffers(); ! FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC); ! } - RefToScanQueue* refs() { return _refs; } ageTable* age_table() { return &_age_table; } G1ParGCAllocBuffer* alloc_buffer(GCAllocPurpose purpose) { return _alloc_buffers[purpose]; } size_t alloc_buffer_waste() const { return _alloc_buffer_waste; } size_t undo_waste() const { return _undo_waste; } - public: - G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp); - ~G1ParScanThreadState(); - - ageTable* age_table() { return &_age_table; } - #ifdef ASSERT bool queue_is_empty() const { return _refs->is_empty(); } bool verify_ref(narrowOop* ref) const; bool verify_ref(oop* ref) const; --- 96,118 ---- dirty_card_queue().enqueue((jbyte*)ctbs()->byte_for_index(card_index)); } } } ! public: G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp); ! ~G1ParScanThreadState(); ageTable* age_table() { return &_age_table; } G1ParGCAllocBuffer* alloc_buffer(GCAllocPurpose purpose) { return _alloc_buffers[purpose]; } size_t alloc_buffer_waste() const { return _alloc_buffer_waste; } size_t undo_waste() const { return _undo_waste; } #ifdef ASSERT bool queue_is_empty() const { return _refs->is_empty(); } bool verify_ref(narrowOop* ref) const; bool verify_ref(oop* ref) const;
*** 136,148 **** template <class T> inline void update_rs(HeapRegion* from, T* p, int tid); private: ! HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz); ! HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz); ! void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz); public: void set_evac_failure_closure(OopsInHeapRegionClosure* evac_failure_cl) { _evac_failure_cl = evac_failure_cl; --- 126,138 ---- template <class T> inline void update_rs(HeapRegion* from, T* p, int tid); private: ! inline HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz); ! inline HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz); ! inline void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz); public: void set_evac_failure_closure(OopsInHeapRegionClosure* evac_failure_cl) { _evac_failure_cl = evac_failure_cl;
*** 218,237 **** } inline void do_oop_partial_array(oop* p); // This method is applied to the fields of the objects that have just been copied. ! template <class T> void do_oop_evac(T* p, HeapRegion* from); template <class T> inline void deal_with_reference(T* ref_to_scan); ! inline void deal_with_reference(StarTask ref); ! public: oop copy_to_survivor_space(oop const obj); void trim_queue(); ! void steal_and_trim_queue(RefToScanQueueSet *task_queues); }; #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1PARSCANTHREADSTATE_HPP --- 208,227 ---- } inline void do_oop_partial_array(oop* p); // This method is applied to the fields of the objects that have just been copied. ! template <class T> inline void do_oop_evac(T* p, HeapRegion* from); template <class T> inline void deal_with_reference(T* ref_to_scan); ! inline void dispatch_reference(StarTask ref); ! public: oop copy_to_survivor_space(oop const obj); void trim_queue(); ! inline void steal_and_trim_queue(RefToScanQueueSet *task_queues); }; #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1PARSCANTHREADSTATE_HPP