Lines Matching defs:span

99   Span* span = Static::pageheap()->GetDescriptor(p);
100 return span;
104 Span* span = MapObjectToSpan(object);
105 ASSERT(span != NULL);
106 ASSERT(span->refcount > 0);
108 // If span is empty, move it to non-empty list
109 if (span->objects == NULL) {
110 tcmalloc::DLL_Remove(span);
111 tcmalloc::DLL_Prepend(&nonempty_, span);
112 Event(span, 'N', 0);
119 for (void* p = span->objects; p != NULL; p = *((void**) p)) {
123 ASSERT(got + span->refcount ==
124 (span->length<<kPageShift) /
125 Static::sizemap()->ByteSizeForClass(span->sizeclass));
129 span->refcount--;
130 if (span->refcount == 0) {
131 Event(span, '#', 0);
132 counter_ -= ((span->length<<kPageShift) /
133 Static::sizemap()->ByteSizeForClass(span->sizeclass));
134 tcmalloc::DLL_Remove(span);
141 Static::pageheap()->Delete(span);
145 *(reinterpret_cast<void**>(object)) = span->objects;
146 span->objects = object;
293 Span* span = nonempty_.next;
295 ASSERT(span->objects != NULL);
296 span->refcount++;
297 void* result = span->objects;
298 span->objects = *(reinterpret_cast<void**>(result));
299 if (span->objects == NULL) {
301 tcmalloc::DLL_Remove(span);
302 tcmalloc::DLL_Prepend(&empty_, span);
303 Event(span, 'E', 0);
315 Span* span;
318 span = Static::pageheap()->New(npages);
319 if (span) Static::pageheap()->RegisterSizeClass(span, size_class_);
321 if (span == NULL) {
327 ASSERT(span->length == npages);
330 // about this span, but that seems to be no better in practice.)
332 Static::pageheap()->CacheSizeClass(span->start + i, size_class_);
337 void** tail = &span->objects;
338 char* ptr = reinterpret_cast<char*>(span->start << kPageShift);
350 span->refcount = 0; // No sub-object in use yet
352 // Add span to list of non-empty spans
354 tcmalloc::DLL_Prepend(&nonempty_, span);