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,33 +96,23 @@
dirty_card_queue().enqueue((jbyte*)ctbs()->byte_for_index(card_index));
}
}
}
-public:
+ public:
G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp);
- ~G1ParScanThreadState() {
- retire_alloc_buffers();
- FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC);
- }
+ ~G1ParScanThreadState();
- 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;
@@ -136,13 +126,13 @@
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);
+ 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,20 +208,20 @@
}
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 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:
+ inline void dispatch_reference(StarTask ref);
+ public:
oop copy_to_survivor_space(oop const obj);
void trim_queue();
- void steal_and_trim_queue(RefToScanQueueSet *task_queues);
+ inline void steal_and_trim_queue(RefToScanQueueSet *task_queues);
};
#endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1PARSCANTHREADSTATE_HPP