Lines Matching refs:Segment
96 for (Segment* current = segment_head_; current;) {
97 Segment* next = current->next();
100 // Un-poison the segment content so we can re-use or zap it later.
113 // Creates a new segment, sets it size, and pushes it to the front
114 // of the segment chain. Returns the new segment.
115 Segment* Zone::NewSegment(size_t requested_size) {
116 Segment* result = allocator_->GetSegment(requested_size);
136 // Compute the new segment size. We use a 'high water mark'
137 // strategy, where we increase the segment size every time we expand
138 // except that we employ a maximum segment size when we delete. This
140 Segment* head = segment_head_;
142 static const size_t kSegmentOverhead = sizeof(Segment) + kAlignmentInBytes;
154 // Limit the size of new segments to avoid growing the segment size
156 // All the while making sure to allocate a segment large enough to hold the
164 Segment* segment = NewSegment(new_size);
165 if (segment == nullptr) {
170 // Recompute 'top' and 'limit' based on the new segment.
171 Address result = RoundUp(segment->start(), kAlignmentInBytes);
174 // (Should not happen since the segment is guaranteed to accomodate
178 limit_ = segment->end();