Home | History | Annotate | Download | only in wtf

Lines Matching full:pages

63 // the sizeclass is 0.  The cache may have stale information for pages that do
65 // in Populate() for pages with sizeclass > 0 objects, and in do_malloc() and
66 // do_memalign() for all other relevant pages.
577 // Minimum number of pages to fetch from system at a time. Must be
684 // Mapping from size class to number of pages to allocate at a time
843 // Allocate enough pages so leftover is less than 1/8 of total.
1033 // Span - a contiguous run of pages
1039 // Type that can hold the length of a run of pages
1044 // Convert byte size into pages. This won't overflow, but may return
1046 static inline Length pages(size_t bytes) {
1055 // Large object: we allocate an integral number of pages
1057 return pages(bytes) << kPageShift;
1064 // Information kept for a span (a contiguous run of pages).
1067 Length length; // Number of pages in span
1231 // contiguous runs of pages (called a "span").
1239 // of free committed pages and so we should not release them back to the system yet.
1240 // - Otherwise, go through the list of free spans (from largest to smallest) and release up to a fraction of the free committed pages
1242 // - If the number of free committed pages reaches kMinimumFreeCommittedPageCount, we can stop the scavenging and block the
1243 // scavenging thread until the number of free committed pages goes above kMinimumFreeCommittedPageCount.
1248 // Number of free committed pages that we want to keep around.
1251 // During a scavenge, we'll release up to a fraction of the free committed pages.
1264 // Allocate a run of "n" pages. Returns zero if out of memory.
1278 // Split an allocated span into two spans: one of length "n" pages
1279 // followed by another span of length "span->length - n" pages.
1280 // Modifies "*span" to point to the first span of length "n" pages.
1319 // Release all pages on the free list for reuse by the OS:
1353 // Number of pages kept in free lists
1360 // Number of pages kept in free lists that are still committed.
1363 // Number of pages that we committed in the last scavenge wait interval.
1391 // IncrementalScavenge(n) is called whenever n pages are freed.
1395 // Number of pages to deallocate before doing more scavenging
1416 // it's blocked waiting for more pages to be deleted.
1512 pages
1524 // Only decommit up to a fraction of the free committed pages if pages_allocated_since_last_scavenge_ > 0.
1535 // We can stop scavenging if the number of free committed pages left is less than or equal to the minimum number we want to keep around.
1584 // free committed pages count.
1655 // free committed pages count.
1799 // committed. Update the free committed pages count.
1802 // If the merged span remains committed, add the deleted span's size to the free committed pages count.
1806 // Make sure the scavenge thread becomes active if we have enough freed pages to release some back to the system.
1821 // If there is nothing to release, wait for so many pages before
1822 // scavenging again. With 4K pages, this comes to 16MB of memory.
1856 // Associate span object with all interior pages as well
1883 static double PagesToMB(uint64_t pages) {
1884 return (pages << kPageShift) / 1048576.0;
1908 out->printf("%6u pages * %6u spans ~ %6.1f MB; %6.1f MB cum"
1925 out->printf(" [ %6" PRIuS " pages ] %6.1f MB\n",
1932 out->printf(" [ %6" PRIuS " pages ] %6.1f MB\n",
1957 // Try growing just "n" pages
1974 // If we have already a lot of pages allocated, just pre allocate a bunch of
1983 // Make sure pagemap_ has entries for all of the new pages.
2369 // Block until there are enough freed pages to release back to the system.
3426 Span *span = pageheap->New(pages(size == 0 ? 1 : size));
3490 Span* span = pageheap->New(pages(size));
3589 Span* span = pageheap->New(pages(size));
3593 // Allocate extra pages and carve off an aligned portion
3594 const Length alloc = pages(size + align);
3611 const Length needed = pages(size);
4427 // Flush free pages in the current thread cache back to the page heap.