Lines Matching refs:MemoryChunk

99 class MemoryChunk;
196 static inline void Clear(MemoryChunk* chunk);
269 // MemoryChunk represents a memory region owned by a specific space.
273 class MemoryChunk {
275 // Only works if the pointer is in the first kPageSize of the MemoryChunk.
276 static MemoryChunk* FromAddress(Address a) {
277 return reinterpret_cast<MemoryChunk*>(OffsetFrom(a) & ~kAlignmentMask);
279 static const MemoryChunk* FromAddress(const byte* a) {
280 return reinterpret_cast<const MemoryChunk*>(OffsetFrom(a) &
285 static inline MemoryChunk* FromAnyPointerAddress(Heap* heap, Address addr);
291 MemoryChunk* next_chunk() const {
292 return reinterpret_cast<MemoryChunk*>(base::Acquire_Load(&next_chunk_));
295 MemoryChunk* prev_chunk() const {
296 return reinterpret_cast<MemoryChunk*>(base::Acquire_Load(&prev_chunk_));
299 void set_next_chunk(MemoryChunk* next) {
303 void set_prev_chunk(MemoryChunk* prev) {
504 if (IsFlagSet(MemoryChunk::HAS_PROGRESS_BAR)) {
506 ClearFlag(MemoryChunk::HAS_PROGRESS_BAR);
518 MemoryChunk::FromAddress(address)->IncrementLiveBytes(by);
600 void InsertAfter(MemoryChunk* other);
680 static MemoryChunk* Initialize(Heap* heap, Address base, size_t size,
685 // next_chunk_ holds a pointer of type MemoryChunk
687 // prev_chunk_ holds a pointer of type MemoryChunk
694 STATIC_ASSERT(sizeof(MemoryChunk) <= MemoryChunk::kHeaderSize);
703 class Page : public MemoryChunk {
707 // This only works if the object is in fact in a page. See also MemoryChunk::
761 static inline Page* Initialize(Heap* heap, MemoryChunk* chunk,
793 STATIC_ASSERT(sizeof(Page) <= MemoryChunk::kHeaderSize);
796 class LargePage : public MemoryChunk {
807 static inline LargePage* Initialize(Heap* heap, MemoryChunk* chunk);
812 STATIC_ASSERT(sizeof(LargePage) <= MemoryChunk::kHeaderSize);
909 DCHECK(IsAddressAligned(start, MemoryChunk::kAlignment));
914 DCHECK(IsAddressAligned(start, MemoryChunk::kAlignment));
1013 void Free(MemoryChunk* chunk);
1047 // Returns a MemoryChunk in which the memory region from commit_area_size to
1049 // could be committed later by calling MemoryChunk::CommitArea.
1050 MemoryChunk* AllocateChunk(intptr_t reserve_area_size,
1779 MemoryChunk::UpdateHighWaterMark(allocation_info_.top());
1912 MemoryChunk* emergency_memory_;
1978 class NewSpacePage : public MemoryChunk {
1983 (1 << MemoryChunk::POINTERS_TO_HERE_ARE_INTERESTING) |
1984 (1 << MemoryChunk::POINTERS_FROM_HERE_ARE_INTERESTING) |
1985 (1 << MemoryChunk::SCAN_ON_SCAVENGE);
2787 // Map MemoryChunk::kAlignment-aligned chunks to large pages covering them
2820 MemoryChunk* next() {
2847 MemoryChunk* answer = MemoryChunk::FromAddress(heap_object->address());