< prev index next >

src/hotspot/share/gc/g1/g1CollectedHeap.cpp

Print this page
rev 54044 : [mq]: new_shared_dcq


1665 
1666   // Create the barrier set for the entire reserved region.
1667   G1CardTable* ct = new G1CardTable(reserved_region());
1668   ct->initialize();
1669   G1BarrierSet* bs = new G1BarrierSet(ct);
1670   bs->initialize();
1671   assert(bs->is_a(BarrierSet::G1BarrierSet), "sanity");
1672   BarrierSet::set_barrier_set(bs);
1673   _card_table = ct;
1674 
1675   G1BarrierSet::satb_mark_queue_set().initialize(this,
1676                                                  SATB_Q_CBL_mon,
1677                                                  &bs->satb_mark_queue_buffer_allocator(),
1678                                                  G1SATBProcessCompletedThreshold,
1679                                                  G1SATBBufferEnqueueingThresholdPercent);
1680 
1681   // process_completed_buffers_threshold and max_completed_buffers are updated
1682   // later, based on the concurrent refinement object.
1683   G1BarrierSet::dirty_card_queue_set().initialize(DirtyCardQ_CBL_mon,
1684                                                   &bs->dirty_card_queue_buffer_allocator(),
1685                                                   Shared_DirtyCardQ_lock,
1686                                                   true); // init_free_ids
1687 
1688   dirty_card_queue_set().initialize(DirtyCardQ_CBL_mon,
1689                                     &bs->dirty_card_queue_buffer_allocator(),
1690                                     Shared_DirtyCardQ_lock);
1691 
1692   // Create the hot card cache.
1693   _hot_card_cache = new G1HotCardCache(this);
1694 
1695   // Carve out the G1 part of the heap.
1696   ReservedSpace g1_rs = heap_rs.first_part(max_byte_size);
1697   size_t page_size = actual_reserved_page_size(heap_rs);
1698   G1RegionToSpaceMapper* heap_storage =
1699     G1RegionToSpaceMapper::create_heap_mapper(g1_rs,
1700                                               g1_rs.size(),
1701                                               page_size,
1702                                               HeapRegion::GrainBytes,
1703                                               1,
1704                                               mtJavaHeap);
1705   if(heap_storage == NULL) {
1706     vm_shutdown_during_initialization("Could not initialize G1 heap");
1707     return JNI_ERR;
1708   }
1709 
1710   os::trace_page_sizes("Heap",




1665 
1666   // Create the barrier set for the entire reserved region.
1667   G1CardTable* ct = new G1CardTable(reserved_region());
1668   ct->initialize();
1669   G1BarrierSet* bs = new G1BarrierSet(ct);
1670   bs->initialize();
1671   assert(bs->is_a(BarrierSet::G1BarrierSet), "sanity");
1672   BarrierSet::set_barrier_set(bs);
1673   _card_table = ct;
1674 
1675   G1BarrierSet::satb_mark_queue_set().initialize(this,
1676                                                  SATB_Q_CBL_mon,
1677                                                  &bs->satb_mark_queue_buffer_allocator(),
1678                                                  G1SATBProcessCompletedThreshold,
1679                                                  G1SATBBufferEnqueueingThresholdPercent);
1680 
1681   // process_completed_buffers_threshold and max_completed_buffers are updated
1682   // later, based on the concurrent refinement object.
1683   G1BarrierSet::dirty_card_queue_set().initialize(DirtyCardQ_CBL_mon,
1684                                                   &bs->dirty_card_queue_buffer_allocator(),

1685                                                   true); // init_free_ids
1686 
1687   dirty_card_queue_set().initialize(DirtyCardQ_CBL_mon,
1688                                     &bs->dirty_card_queue_buffer_allocator());

1689 
1690   // Create the hot card cache.
1691   _hot_card_cache = new G1HotCardCache(this);
1692 
1693   // Carve out the G1 part of the heap.
1694   ReservedSpace g1_rs = heap_rs.first_part(max_byte_size);
1695   size_t page_size = actual_reserved_page_size(heap_rs);
1696   G1RegionToSpaceMapper* heap_storage =
1697     G1RegionToSpaceMapper::create_heap_mapper(g1_rs,
1698                                               g1_rs.size(),
1699                                               page_size,
1700                                               HeapRegion::GrainBytes,
1701                                               1,
1702                                               mtJavaHeap);
1703   if(heap_storage == NULL) {
1704     vm_shutdown_during_initialization("Could not initialize G1 heap");
1705     return JNI_ERR;
1706   }
1707 
1708   os::trace_page_sizes("Heap",


< prev index next >