/art/runtime/gc/collector/ |
H A D | immune_spaces.h | 22 #include "gc/space/space.h" 29 namespace space { namespace in namespace:art::gc 31 } // namespace space 40 bool operator()(space::ContinuousSpace* a, space::ContinuousSpace* b) const; 47 // Add a continuous space to the immune spaces set. 48 void AddSpace(space::ContinuousSpace* space) REQUIRES(Locks::heap_bitmap_lock_); 51 // true for the largest immune region. The object can still be inside of an immune space [all...] |
H A D | immune_spaces.cc | 23 #include "gc/space/space-inl.h" 45 for (space::ContinuousSpace* space : GetSpaces()) { 46 uintptr_t space_begin = reinterpret_cast<uintptr_t>(space->Begin()); 47 uintptr_t space_end = reinterpret_cast<uintptr_t>(space->Limit()); 48 if (space->IsImageSpace()) { 51 space::ImageSpace* image_space = space->AsImageSpace(); 107 void ImmuneSpaces::AddSpace(space argument [all...] |
H A D | partial_mark_sweep.cc | 20 #include "gc/space/space.h" 37 // For partial GCs we need to bind the bitmap of the zygote space so that all objects in the 38 // zygote space are viewed as marked. 39 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 40 if (space->GetGcRetentionPolicy() == space::kGcRetentionPolicyFullCollect) { 41 CHECK(space->IsZygoteSpace()); 42 immune_spaces_.AddSpace(space);
|
H A D | sticky_mark_sweep.cc | 22 #include "gc/space/large_object_space.h" 23 #include "gc/space/space-inl.h" 40 // know what was allocated since the last GC. A side-effect of binding the allocation space mark 42 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 43 if (space->IsContinuousMemMapAllocSpace() && 44 space->GetGcRetentionPolicy() == space::kGcRetentionPolicyAlwaysCollect) { 45 DCHECK(space->IsContinuousMemMapAllocSpace()); 46 space [all...] |
H A D | garbage_collector.cc | 33 #include "gc/space/large_object_space.h" 34 #include "gc/space/space-inl.h" 122 // Swap the live and mark bitmaps for each alloc space. This is needed since sweep re-swaps 126 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 128 if (space->GetGcRetentionPolicy() == space::kGcRetentionPolicyAlwaysCollect || 130 space->GetGcRetentionPolicy() == space::kGcRetentionPolicyFullCollect)) { 131 accounting::ContinuousSpaceBitmap* live_bitmap = space 142 space::LargeObjectSpace* space = disc_space->AsLargeObjectSpace(); local [all...] |
H A D | mark_compact.cc | 29 #include "gc/space/bump_pointer_space-inl.h" 30 #include "gc/space/large_object_space.h" 31 #include "gc/space/space-inl.h" 48 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 49 if (space->GetGcRetentionPolicy() == space::kGcRetentionPolicyNeverCollect || 50 space->GetGcRetentionPolicy() == space::kGcRetentionPolicyFullCollect) { 51 immune_spaces_.AddSpace(space); 617 SetSpace(space::BumpPointerSpace* space) argument [all...] |
H A D | semi_space.cc | 35 #include "gc/space/bump_pointer_space-inl.h" 36 #include "gc/space/bump_pointer_space.h" 37 #include "gc/space/image_space.h" 38 #include "gc/space/large_object_space.h" 39 #include "gc/space/space-inl.h" 67 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 68 if (space->GetGcRetentionPolicy() == space::kGcRetentionPolicyNeverCollect || 69 space [all...] |
H A D | mark_sweep.cc | 40 #include "gc/space/large_object_space.h" 41 #include "gc/space/space-inl.h" 87 for (const auto& space : GetHeap()->GetContinuousSpaces()) { 88 if (space->GetGcRetentionPolicy() == space::kGcRetentionPolicyNeverCollect) { 89 immune_spaces_.AddSpace(space); 263 // alloc space instead of aging them. 265 // Note that it is fine to clear the cards of the alloc space here, 268 // running and possibly dirtying cards), as the whole alloc space [all...] |
/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. 33 space::ContinuousSpace* space) 34 : ModUnionTableReferenceCache(name, heap, space) {} 31 ModUnionTableToZygoteAllocspace(const std::string& name, Heap* heap, space::ContinuousSpace* space) argument
|
H A D | remembered_set.h | 35 namespace space { namespace in namespace:art::gc 37 } // namespace space 50 explicit RememberedSet(const std::string& name, Heap* heap, space::ContinuousSpace* space) argument 51 : name_(name), heap_(heap), space_(space) {} 56 // Mark through all references to the target space. 57 void UpdateAndMarkReferences(space::ContinuousSpace* target_space, 64 space::ContinuousSpace* GetSpace() { 78 space::ContinuousSpace* const space_;
|
H A D | mod_union_table_test.cc | 21 #include "gc/space/space-inl.h" 39 // Target space is ignored for the card cache implementation. 41 TableType type, space::ContinuousSpace* space, space::ContinuousSpace* target_space); 49 Thread* self, space::ContinuousMemMapAllocSpace* space, size_t component_count) 51 auto* klass = GetObjectArrayClass(self, space); 55 space 120 ModUnionTableRefCacheToSpace( const std::string& name, Heap* heap, space::ContinuousSpace* space, space::ContinuousSpace* target_space) argument 150 Create( TableType type, space::ContinuousSpace* space, space::ContinuousSpace* target_space) argument 183 auto* space = heap->GetNonMovingSpace(); local [all...] |
H A D | mod_union_table.h | 40 namespace space { namespace in namespace:art::gc 42 } // namespace space 59 explicit ModUnionTable(const std::string& name, Heap* heap, space::ContinuousSpace* space) argument 62 space_(space) {} 66 // Process cards for a memory range of a space. This doesn't immediately update the mod-union 100 space::ContinuousSpace* GetSpace() { 115 space::ContinuousSpace* const space_; 118 // Reference caching implementation. Caches references pointing to alloc space(s) for each card. 122 space 121 ModUnionTableReferenceCache(const std::string& name, Heap* heap, space::ContinuousSpace* space) argument [all...] |
H A D | mod_union_table.cc | 27 #include "gc/space/image_space.h" 28 #include "gc/space/space.h" 94 space::ContinuousSpace* from_space, 95 space::ContinuousSpace* immune_space, 135 space::ContinuousSpace* const from_space_; 136 space::ContinuousSpace* const immune_space_; 137 // Set if we have any references to another space. 143 // Immune space is any other space whic 429 space::ContinuousSpace* space = local 481 ModUnionTableCardCache(const std::string& name, Heap* heap, space::ContinuousSpace* space) argument 497 CardBitVisitor(MarkObjectVisitor* visitor, space::ContinuousSpace* space, space::ContinuousSpace* immune_space, ModUnionTable::CardBitmap* card_bitmap) argument [all...] |
/art/runtime/gc/space/ |
H A D | memory_tool_settings.h | 22 namespace space { namespace in namespace:art::gc 28 } // namespace space
|
H A D | space_create_test.cc | 25 namespace space { namespace in namespace:art::gc 65 std::unique_ptr<Space> space(CreateSpace("test", 16 * MB, 32 * MB, 32 * MB, nullptr)); 66 EXPECT_TRUE(space != nullptr); 68 space.reset(CreateSpace("test", 16 * MB, 16 * MB, 16 * MB, nullptr)); 69 EXPECT_TRUE(space != nullptr); 71 space.reset(CreateSpace("test", 32 * MB, 16 * MB, 16 * MB, nullptr)); 72 EXPECT_TRUE(space == nullptr); 74 space.reset(CreateSpace("test", 16 * MB, 16 * MB, 32 * MB, nullptr)); 75 EXPECT_TRUE(space != nullptr); 77 space [all...] |
H A D | space_test.h | 35 namespace space { namespace in namespace:art::gc 42 void AddSpace(ContinuousSpace* space, bool revoke = true) { argument 49 ScopedSuspendAll ssa("Add image space"); 50 heap->AddSpace(space); 52 heap->SetSpaceAsDefault(space); 68 mirror::Object* Alloc(space::MallocSpace* alloc_space, 88 mirror::Object* AllocWithGrowth(space::MallocSpace* alloc_space, 130 void SizeFootPrintGrowthLimitAndTrimBody(MallocSpace* space, intptr_t object_size, 141 void SpaceTest<Super>::SizeFootPrintGrowthLimitAndTrimBody(MallocSpace* space, argument 151 // The space' [all...] |
H A D | dlmalloc_space_random_test.cc | 23 namespace space { namespace in namespace:art::gc 33 } // namespace space
|
H A D | dlmalloc_space_static_test.cc | 23 namespace space { namespace in namespace:art::gc 33 } // namespace space
|
H A D | rosalloc_space_random_test.cc | 21 namespace space { namespace in namespace:art::gc 32 } // namespace space
|
H A D | rosalloc_space_static_test.cc | 21 namespace space { namespace in namespace:art::gc 32 } // namespace space
|
/art/test/596-app-images/ |
H A D | app_images.cc | 26 #include "gc/space/image_space.h" 27 #include "gc/space/space-inl.h" 39 for (auto* space : Runtime::Current()->GetHeap()->GetContinuousSpaces()) { 40 if (space->IsImageSpace()) { 41 auto* image_space = space->AsImageSpace(); 54 for (auto* space : Runtime::Current()->GetHeap()->GetContinuousSpaces()) { 55 if (space->IsImageSpace()) { 56 auto* image_space = space->AsImageSpace();
|
/art/runtime/gc/ |
H A D | heap.cc | 58 #include "gc/space/bump_pointer_space.h" 59 #include "gc/space/dlmalloc_space-inl.h" 60 #include "gc/space/image_space.h" 61 #include "gc/space/large_object_space.h" 62 #include "gc/space/region_space.h" 63 #include "gc/space/rosalloc_space-inl.h" 64 #include "gc/space/space-inl.h" 65 #include "gc/space/zygote_space.h" 115 // Define space nam 917 AddSpace(space::Space* space) argument 960 RemoveSpace(space::Space* space) argument 1162 space::ContinuousSpace* space = FindContinuousSpaceFromAddress(obj.Ptr()); local 1224 space::AllocSpace* space = nullptr; local 1473 stream << space << " " << *space << "\\n"; local 1482 stream << space << " " << *space << "\\n"; local 2831 space::MallocSpace* space = ref_space->AsMallocSpace(); variable 3158 FindModUnionTableFromSpace(space::Space* space) argument 3166 FindRememberedSetFromSpace(space::Space* space) argument 3413 space::Space* space = FindContinuousSpaceFromObject(obj.Ptr(), true); local 3833 space::Space* space = remembered_set->GetSpace(); local 3840 RemoveRememberedSet(space::Space* space) argument [all...] |
H A D | verification.h | 32 namespace space { namespace in namespace:art::gc 34 } // namespace space 56 bool IsValidHeapObjectAddress(const void* addr, space::Space** out_space = nullptr) const 65 bool IsAddressInHeapSpace(const void* addr, space::Space** out_space = nullptr) const
|
H A D | heap.h | 39 #include "gc/space/large_object_space.h" 96 namespace space { namespace in namespace:art::gc 109 } // namespace space 142 // Primitive arrays larger than this size are put in the large object space. 149 // Whether or not we use the free list large object space. Only use it if USE_ART_LOW_4G_ALLOCATOR 151 static constexpr space::LargeObjectSpaceType kDefaultLargeObjectSpaceType = 153 space::LargeObjectSpaceType::kFreeList 154 : space::LargeObjectSpaceType::kMap; 182 space::LargeObjectSpaceType large_object_space_type, 279 // Transition the garbage collector during runtime, may copy objects from one space t [all...] |
H A D | verification.cc | 67 space::Space* const space = heap_->FindSpaceFromAddress(addr); member in class:art::gc::space 68 if (space != nullptr) { 69 oss << " space=" << *space; local 119 bool Verification::IsAddressInHeapSpace(const void* addr, space::Space** out_space) const { 120 space::Space* const space = heap_->FindSpaceFromAddress(addr); member in class:art::gc::space 121 if (space != nullptr) { 123 *out_space = space; [all...] |