src/hotspot/share/gc/epsilon/epsilonHeap.cpp
branchepsilon-gc-branch
changeset 56352 ebb84e128ed3
parent 56350 56014b46de69
child 56353 eb96d40953f1
equal deleted inserted replaced
56351:08b27b968b24 56352:ebb84e128ed3
    39   initialize_reserved_region(reserved_region.start(), reserved_region.end());
    39   initialize_reserved_region(reserved_region.start(), reserved_region.end());
    40 
    40 
    41   _space = new ContiguousSpace();
    41   _space = new ContiguousSpace();
    42   _space->initialize(committed_region, true, true);
    42   _space->initialize(committed_region, true, true);
    43 
    43 
    44   EpsilonBarrierSet* bs = new EpsilonBarrierSet();
    44   set_barrier_set(new EpsilonBarrierSet());
    45   set_barrier_set(bs);
       
    46 
    45 
    47   _max_tlab_size = MIN2(CollectedHeap::max_tlab_size(), EpsilonMaxTLABSize / HeapWordSize);
    46   _max_tlab_size = MIN2(CollectedHeap::max_tlab_size(), EpsilonMaxTLABSize / HeapWordSize);
    48 
    47 
    49   _monitoring_support = new EpsilonMonitoringSupport(this);
    48   _monitoring_support = new EpsilonMonitoringSupport(this);
    50   _last_counter_update = 0;
    49   _last_counter_update = 0;
    89   GrowableArray<MemoryPool*> memory_pools(3);
    88   GrowableArray<MemoryPool*> memory_pools(3);
    90   memory_pools.append(_pool);
    89   memory_pools.append(_pool);
    91   return memory_pools;
    90   return memory_pools;
    92 }
    91 }
    93 
    92 
    94 size_t EpsilonHeap::unsafe_max_tlab_alloc(Thread *thr) const {
    93 size_t EpsilonHeap::unsafe_max_tlab_alloc(Thread* thr) const {
    95   // This is the only way we can control TLAB sizes without having safepoints.
    94   // This is the only way we can control TLAB sizes without having safepoints.
    96   // Implement exponential expansion within [MinTLABSize; _max_tlab_size], based
    95   // Implement exponential expansion within [MinTLABSize; _max_tlab_size], based
    97   // on previously "used" TLAB size.
    96   // on previously "used" TLAB size.
    98 
    97 
    99   size_t size = MIN2(_max_tlab_size * HeapWordSize, MAX2(MinTLABSize, thr->tlab().used() * HeapWordSize * 2));
    98   size_t size = MIN2(_max_tlab_size * HeapWordSize, MAX2(MinTLABSize, thr->tlab().used() * HeapWordSize * 2));