/art/runtime/gc/space/ |
H A D | space-inl.h | 20 #include "space.h" 27 namespace space { namespace in namespace:art::gc 44 } // namespace space
|
H A D | dlmalloc_space-inl.h | 24 namespace space { namespace in namespace:art::gc 34 // Zero freshly allocated memory, done while not holding the space's lock. 45 << ") not in bounds of allocation space " << *this; 58 } // namespace space
|
H A D | image_space.h | 20 #include "space.h" 27 namespace space { namespace in namespace:art::gc 29 // An image space is a space backed with a memory mapped image. 45 // creation of the alloc space. The ReleaseOatFile will later be 105 // reserve space contiguous to the image. It is later released to 112 } // namespace space
|
H A D | space.cc | 17 #include "space.h" 23 namespace space { namespace in namespace:art::gc 32 std::ostream& operator<<(std::ostream& os, const Space& space) { argument 33 space.Dump(os); 45 } // namespace space
|
H A D | dlmalloc_space.h | 21 #include "space.h" 30 namespace space { namespace in namespace:art::gc 32 // An alloc space is a space where objects may be allocated and garbage collected. 47 // the caller should call Begin on the returned space to confirm 59 // Return the storage space required by obj. 84 // Returns the number of bytes that the space has currently obtained from the system. This is 85 // greater or equal to the amount of live data in the space. 107 // The total amount of memory reserved for the alloc space. 124 // Swap the live and mark bitmaps of this space [all...] |
H A D | image_space.cc | 31 #include "space-inl.h" 36 namespace space { namespace in namespace:art::gc 136 return space::ImageSpace::Init(original_image_file_name, false); 143 space::ImageSpace* image_space = space::ImageSpace::Init(image_file_name, true); 149 return space::ImageSpace::Init(image_file_name, true); 224 UniquePtr<ImageSpace> space(new ImageSpace(image_file_name, map.release(), bitmap.release())); 226 space->VerifyImageAllocations(); 229 space->oat_file_.reset(space [all...] |
H A D | large_object_space.cc | 29 namespace space { namespace in namespace:art::gc 52 lock_("large object map space lock", kAllocSpaceLock) {} 59 MemMap* mem_map = MemMap::MapAnonymous("large object space allocation", NULL, num_bytes, 133 CHECK(mem_map != NULL) << "Failed to allocate large object space mem map"; 142 lock_("free list space lock", kAllocSpaceLock) { 262 // Fit our object in the previous free header space. 268 // If there is remaining space, insert back into the free set. 272 // Try to steal some memory from the free space at the end of the space. 329 } // namespace space [all...] |
H A D | large_object_space.h | 23 #include "space.h" 30 namespace space { namespace in namespace:art::gc 65 // Approximate number of bytes which have been allocated into the space. 77 // A discontinuous large object space implemented by individual mmap/munmap calls. 80 // Creates a large object space. Allocations into the large object space use memory maps instead 84 // Return the storage space required by obj. 105 // A continuous large object space with a free-list to handle holes. 117 // Address at which the space begins. 122 // Address at which the space end [all...] |
H A D | space.h | 43 namespace space { namespace in namespace:art::gc 53 // Objects are retained forever with this policy for a space. 55 // Every GC cycle will attempt to collect objects in this space. 71 // A space contains memory allocated for managed objects. 74 // Dump space. Also key method for C++ vtables. 77 // Name of the space. May vary, for example before/after the Zygote fork. 82 // The policy of when objects are collected associated with this space. 87 // Does the space support allocation? 92 // Is the given object contained within this space? 95 // The kind of space thi [all...] |
H A D | space_test.cc | 28 namespace space { namespace in namespace:art::gc 32 void SizeFootPrintGrowthLimitAndTrimBody(DlMallocSpace* space, intptr_t object_size, 36 void AddContinuousSpace(ContinuousSpace* space) { argument 37 Runtime::Current()->GetHeap()->AddContinuousSpace(space); 49 UniquePtr<Space> space(DlMallocSpace::Create("test", 16 * MB, 32 * MB, 32 * MB, NULL)); 50 EXPECT_TRUE(space.get() != NULL); 54 UniquePtr<Space> space(DlMallocSpace::Create("test", 16 * MB, 16 * MB, 16 * MB, NULL)); 55 EXPECT_TRUE(space.get() != NULL); 59 UniquePtr<Space> space(DlMallocSpace::Create("test", 32 * MB, 16 * MB, 16 * MB, NULL)); 60 EXPECT_TRUE(space 306 SizeFootPrintGrowthLimitAndTrimBody(DlMallocSpace* space, intptr_t object_size, int round, size_t growth_limit) argument [all...] |
H A D | dlmalloc_space.cc | 30 namespace space { namespace in namespace:art::gc 124 lock_("allocation space lock", kAllocSpaceLock), mspace_(mspace), 171 LOG(ERROR) << "Failed to create alloc space (" << name << ") where the initial size (" 177 LOG(ERROR) << "Failed to create alloc space (" << name << ") where the growth limit capacity (" 190 LOG(ERROR) << "Failed to allocate pages for alloc space (" << name << ") of size " 197 LOG(ERROR) << "Failed to initialize mspace for alloc space (" << name << ")"; 209 DlMallocSpace* space; local 211 space = new ValgrindDlMallocSpace(name, mem_map_ptr, mspace, mem_map_ptr->Begin(), end, 214 space = new DlMallocSpace(name, mem_map_ptr, mspace, mem_map_ptr->Begin(), end, growth_limit); 218 << " ) " << *space; local [all...] |
/art/runtime/base/ |
H A D | stringprintf.cc | 25 char space[1024]; local 32 int result = vsnprintf(space, sizeof(space), format, backup_ap); 35 if (result < static_cast<int>(sizeof(space))) { 38 dst->append(space, result);
|
/art/runtime/gc/accounting/ |
H A D | mod_union_table-inl.h | 22 #include "gc/space/space.h" 28 // A mod-union table to record image references to the Zygote and alloc space. 34 const std::vector<space::ContinuousSpace*>& spaces = GetHeap()->GetContinuousSpaces(); 35 typedef std::vector<space::ContinuousSpace*>::const_iterator It; 47 // A mod-union table to record Zygote references to the alloc space. 53 const std::vector<space::ContinuousSpace*>& spaces = GetHeap()->GetContinuousSpaces(); 54 typedef std::vector<space::ContinuousSpace*>::const_iterator It; 56 space::ContinuousSpace* space local [all...] |
H A D | card_table.cc | 22 #include "gc/space/space.h" 67 // We allocated up to a bytes worth of extra space to allow biased_begin's byte value to equal 88 void CardTable::ClearSpaceCards(space::ContinuousSpace* space) { argument 90 byte* card_start = CardFromAddr(space->Begin()); 91 byte* card_end = CardFromAddr(space->End()); // Make sure to round up.
|
H A D | mod_union_table.h | 37 namespace space { namespace in namespace:art::gc 40 } // namespace space 59 // Clear cards which map to a memory range of a space. This doesn't immediately update the 62 virtual void ClearCards(space::ContinuousSpace* space) = 0; 87 // Reference caching implementation. Caches references pointing to alloc space(s) for each card. 93 // Clear and store cards for a space. 94 void ClearCards(space::ContinuousSpace* space); 101 // Mark all references to the alloc space( [all...] |
H A D | card_table.h | 33 namespace space { namespace in namespace:art::gc 35 } // namespace space 116 // Resets all of the bytes in the card table which do not map to the image space. 117 void ClearSpaceCards(space::ContinuousSpace* space);
|
H A D | mod_union_table.cc | 24 #include "gc/space/space.h" 86 void ModUnionTableReferenceCache::ClearCards(space::ContinuousSpace* space) { argument 89 // Clear dirty cards in the this space and update the corresponding mod-union bits. 90 card_table->ModifyCardsAtomic(space->Begin(), space->End(), AgeCardVisitor(), visitor); 152 space::ContinuousSpace* from_space = heap->FindContinuousSpaceFromObject(obj, false); 153 space::ContinuousSpace* to_space = heap->FindContinuousSpaceFromObject(ref, false); 207 auto* space local 248 auto* space = heap->FindContinuousSpaceFromObject(reinterpret_cast<Object*>(start), false); local 282 ClearCards(space::ContinuousSpace* space) argument 293 space::ContinuousSpace* space = nullptr; local [all...] |
/art/runtime/gc/collector/ |
H A D | garbage_collector.cc | 27 #include "gc/space/large_object_space.h" 28 #include "gc/space/space-inl.h" 116 // Swap the live and mark bitmaps for each alloc space. This is needed since sweep re-swaps 120 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 122 if (space->GetGcRetentionPolicy() == space::kGcRetentionPolicyAlwaysCollect || 124 space->GetGcRetentionPolicy() == space::kGcRetentionPolicyFullCollect)) { 125 accounting::SpaceBitmap* live_bitmap = space 135 space::LargeObjectSpace* space = down_cast<space::LargeObjectSpace*>(disc_space); local [all...] |
H A D | mark_sweep.h | 53 namespace space { namespace in namespace:art::gc 55 } // namespace space 101 // Verify that image roots point to only marked objects within the alloc space. 111 // Make a space immune, immune spaces have all live objects marked - that is the mark and 113 void ImmuneSpace(space::ContinuousSpace* space) 121 void BindLiveToMarkBitmap(space::ContinuousSpace* space) 264 // space set, removing the object from the set. 399 // Current space, w [all...] |
H A D | mark_sweep.cc | 33 #include "gc/space/image_space.h" 34 #include "gc/space/large_object_space.h" 35 #include "gc/space/space-inl.h" 88 void MarkSweep::ImmuneSpace(space::ContinuousSpace* space) { argument 90 if (space->GetLiveBitmap() != space->GetMarkBitmap()) { 91 BindLiveToMarkBitmap(space); 94 // Add the space t 601 BindLiveToMarkBitmap(space::ContinuousSpace* space) argument 1070 space::AllocSpace* space; member in struct:art::gc::collector::SweepCallbackContext 1117 space::AllocSpace* space = context->space; local 1144 space::DlMallocSpace* space = heap_->GetAllocSpace(); local [all...] |
/art/compiler/ |
H A D | image_test.cc | 24 #include "gc/space/image_space.h" 96 gc::space::ContinuousSpace* space = heap->GetContinuousSpaces().front(); local 97 ASSERT_FALSE(space->IsImageSpace()); 98 ASSERT_TRUE(space != NULL); 99 ASSERT_TRUE(space->IsDlMallocSpace()); 100 ASSERT_GE(sizeof(image_header) + space->Size(), static_cast<size_t>(file->GetLength())); 143 gc::space::ImageSpace* image_space = heap->GetImageSpace(); 158 // non image classes should be in a space after the image.
|
/art/runtime/ |
H A D | class_linker.h | 33 namespace space { namespace in namespace:art::gc 35 } // namespace space 372 OatFile& GetImageOatFile(gc::space::ImageSpace* space)
|
/art/runtime/native/ |
H A D | dalvik_system_VMDebug.cc | 23 #include "gc/space/dlmalloc_space.h" 24 #include "gc/space/large_object_space.h" 25 #include "gc/space/space-inl.h" 243 // We export the VM internal per-heap-space size/alloc/free metrics 244 // for the zygote space, alloc space (application heap), and the large 245 // object space for dumpsys meminfo. The other memory region data such 262 const std::vector<gc::space::ContinuousSpace*>& continuous_spaces = heap->GetContinuousSpaces(); 263 const std::vector<gc::space 266 gc::space::ContinuousSpace* space = *it; local 282 gc::space::DiscontinuousSpace* space = *it; local [all...] |
/art/runtime/gc/ |
H A D | heap.h | 62 namespace space { namespace in namespace:art::gc 70 } // namespace space 188 // Removes the growth limit on the alloc space so it may grow to its maximum capacity. Used to 206 // For the alloc space, sets the maximum number of bytes that the heap is allowed to allocate 207 // from the system. Doesn't allow the space to exceed its growth limit. 214 const std::vector<space::ContinuousSpace*>& GetContinuousSpaces() const { 218 const std::vector<space::DiscontinuousSpace*>& GetDiscontinuousSpaces() const { 336 // Get the space that corresponds to an object's address. Current implementation searches all 337 // spaces in turn. If fail_ok is false then failing to find a space will cause an abort. 339 space [all...] |
H A D | heap.cc | 38 #include "gc/space/dlmalloc_space-inl.h" 39 #include "gc/space/image_space.h" 40 #include "gc/space/large_object_space.h" 41 #include "gc/space/space-inl.h" 147 // Requested begin for the alloc space, to follow the mapped image and oat files 151 space::ImageSpace* image_space = space::ImageSpace::Create(image_file_name); 152 CHECK(image_space != NULL) << "Failed to create space for " << image_file_name; 154 // Oat files referenced by image files immediately follow them in memory, ensure alloc space 375 AddContinuousSpace(space::ContinuousSpace* space) argument 421 AddDiscontinuousSpace(space::DiscontinuousSpace* space) argument 724 LOG(INFO) << space << " " << *space << "\\n"; local 830 TryToAllocate(Thread* self, space::AllocSpace* space, size_t alloc_size, bool grow, size_t* bytes_allocated) argument 839 TryToAllocate(Thread* self, space::DlMallocSpace* space, size_t alloc_size, bool grow, size_t* bytes_allocated) argument 852 Allocate(Thread* self, T* space, size_t alloc_size, size_t* bytes_allocated) argument 866 AllocateInternalWithGc(Thread* self, space::AllocSpace* space, size_t alloc_size, size_t* bytes_allocated) argument 947 space::ContinuousSpace* space = *it; local 954 space::DiscontinuousSpace* space = *it; local 964 space::ContinuousSpace* space = *it; local 971 space::DiscontinuousSpace* space = *it; local 981 space::ContinuousSpace* space = *it; local 988 space::DiscontinuousSpace* space = *it; local 1397 space::DlMallocSpace* space = ref_space->AsDlMallocSpace(); variable [all...] |