< prev index next >

src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Print this page
rev 8332 : [mq]: pagesize


1860   // compressed oops mode.
1861 
1862   ReservedSpace heap_rs = Universe::reserve_heap(max_byte_size,
1863                                                  heap_alignment);
1864 
1865   initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size()));
1866 
1867   // Create the barrier set for the entire reserved region.
1868   G1SATBCardTableLoggingModRefBS* bs
1869     = new G1SATBCardTableLoggingModRefBS(reserved_region());
1870   bs->initialize();
1871   assert(bs->is_a(BarrierSet::G1SATBCTLogging), "sanity");
1872   set_barrier_set(bs);
1873 
1874   // Also create a G1 rem set.
1875   _g1_rem_set = new G1RemSet(this, g1_barrier_set());
1876 
1877   // Carve out the G1 part of the heap.
1878 
1879   ReservedSpace g1_rs = heap_rs.first_part(max_byte_size);

1880   G1RegionToSpaceMapper* heap_storage =
1881     G1RegionToSpaceMapper::create_mapper(g1_rs,
1882                                          g1_rs.size(),
1883                                          UseLargePages ? os::large_page_size() : os::vm_page_size(),
1884                                          HeapRegion::GrainBytes,
1885                                          1,
1886                                          mtJavaHeap);




1887   heap_storage->set_mapping_changed_listener(&_listener);
1888 
1889   // Create storage for the BOT, card table, card counts table (hot card cache) and the bitmaps.
1890   G1RegionToSpaceMapper* bot_storage =
1891     create_aux_memory_mapper("Block offset table",
1892                              G1BlockOffsetSharedArray::compute_size(g1_rs.size() / HeapWordSize),
1893                              G1BlockOffsetSharedArray::heap_map_factor());
1894 
1895   ReservedSpace cardtable_rs(G1SATBCardTableLoggingModRefBS::compute_size(g1_rs.size() / HeapWordSize));
1896   G1RegionToSpaceMapper* cardtable_storage =
1897     create_aux_memory_mapper("Card table",
1898                              G1SATBCardTableLoggingModRefBS::compute_size(g1_rs.size() / HeapWordSize),
1899                              G1SATBCardTableLoggingModRefBS::heap_map_factor());
1900 
1901   G1RegionToSpaceMapper* card_counts_storage =
1902     create_aux_memory_mapper("Card counts table",
1903                              G1CardCounts::compute_size(g1_rs.size() / HeapWordSize),
1904                              G1CardCounts::heap_map_factor());
1905 
1906   size_t bitmap_size = CMBitMap::compute_size(g1_rs.size());




1860   // compressed oops mode.
1861 
1862   ReservedSpace heap_rs = Universe::reserve_heap(max_byte_size,
1863                                                  heap_alignment);
1864 
1865   initialize_reserved_region((HeapWord*)heap_rs.base(), (HeapWord*)(heap_rs.base() + heap_rs.size()));
1866 
1867   // Create the barrier set for the entire reserved region.
1868   G1SATBCardTableLoggingModRefBS* bs
1869     = new G1SATBCardTableLoggingModRefBS(reserved_region());
1870   bs->initialize();
1871   assert(bs->is_a(BarrierSet::G1SATBCTLogging), "sanity");
1872   set_barrier_set(bs);
1873 
1874   // Also create a G1 rem set.
1875   _g1_rem_set = new G1RemSet(this, g1_barrier_set());
1876 
1877   // Carve out the G1 part of the heap.
1878 
1879   ReservedSpace g1_rs = heap_rs.first_part(max_byte_size);
1880   size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size();
1881   G1RegionToSpaceMapper* heap_storage =
1882     G1RegionToSpaceMapper::create_mapper(g1_rs,
1883                                          g1_rs.size(),
1884                                          page_size,
1885                                          HeapRegion::GrainBytes,
1886                                          1,
1887                                          mtJavaHeap);
1888   os::trace_page_sizes("G1 Heap", collector_policy()->min_heap_byte_size(),
1889                        max_byte_size, page_size,
1890                        heap_rs.base(),
1891                        heap_rs.size());
1892   heap_storage->set_mapping_changed_listener(&_listener);
1893 
1894   // Create storage for the BOT, card table, card counts table (hot card cache) and the bitmaps.
1895   G1RegionToSpaceMapper* bot_storage =
1896     create_aux_memory_mapper("Block offset table",
1897                              G1BlockOffsetSharedArray::compute_size(g1_rs.size() / HeapWordSize),
1898                              G1BlockOffsetSharedArray::heap_map_factor());
1899 
1900   ReservedSpace cardtable_rs(G1SATBCardTableLoggingModRefBS::compute_size(g1_rs.size() / HeapWordSize));
1901   G1RegionToSpaceMapper* cardtable_storage =
1902     create_aux_memory_mapper("Card table",
1903                              G1SATBCardTableLoggingModRefBS::compute_size(g1_rs.size() / HeapWordSize),
1904                              G1SATBCardTableLoggingModRefBS::heap_map_factor());
1905 
1906   G1RegionToSpaceMapper* card_counts_storage =
1907     create_aux_memory_mapper("Card counts table",
1908                              G1CardCounts::compute_size(g1_rs.size() / HeapWordSize),
1909                              G1CardCounts::heap_map_factor());
1910 
1911   size_t bitmap_size = CMBitMap::compute_size(g1_rs.size());


< prev index next >