equal
deleted
inserted
replaced
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)); |