< prev index next >
src/share/vm/gc/g1/g1AllocRegion.hpp
Print this page
*** 32,52 ****
class G1CollectedHeap;
// 0 -> no tracing, 1 -> basic tracing, 2 -> basic + allocation tracing
#define G1_ALLOC_REGION_TRACING 0
- class ar_ext_msg;
-
// A class that holds a region that is active in satisfying allocation
// requests, potentially issued in parallel. When the active region is
// full it will be retired and replaced with a new one. The
// implementation assumes that fast-path allocations will be lock-free
// and a lock will need to be taken when the active region needs to be
// replaced.
class G1AllocRegion VALUE_OBJ_CLASS_SPEC {
- friend class ar_ext_msg;
private:
// The active allocating region we are currently allocating out
// of. The invariant is that if this object is initialized (i.e.,
// init() has been called and release() has not) then _alloc_region
--- 32,49 ----
*** 129,140 ****
// allocation. The force parameter will be passed on to
// G1CollectedHeap::allocate_new_alloc_region() and tells it to try
// to allocate a new region even if the max has been reached.
HeapWord* new_alloc_region_and_allocate(size_t word_size, bool force);
- void fill_in_ext_msg(ar_ext_msg* msg, const char* message);
-
protected:
// Retire the active allocating region. If fill_up is true then make
// sure that the region is full before we retire it so that no one
// else can allocate out of it.
// Returns the number of bytes that have been filled up during retire.
--- 126,135 ----
*** 276,288 ****
// last card in the retained old gc alloc region, and allocation threads
// allocating into that card at the same time.
virtual HeapRegion* release();
};
- class ar_ext_msg : public err_msg {
- public:
- ar_ext_msg(G1AllocRegion* alloc_region, const char *message) : err_msg("%s", "") {
- alloc_region->fill_in_ext_msg(this, message);
- }
- };
-
#endif // SHARE_VM_GC_G1_G1ALLOCREGION_HPP
--- 271,276 ----
< prev index next >