class BatchPQRemove

Defined at line 268 of file ../../zircon/kernel/vm/vm_cow_pages.cc

Forward declare these so VmCowPages helpers can accept references.

Public Methods

void BatchPQRemove (ScopedPageFreedList & freed_list)

Defined at line 270 of file ../../zircon/kernel/vm/vm_cow_pages.cc

void ~BatchPQRemove ()

Defined at line 271 of file ../../zircon/kernel/vm/vm_cow_pages.cc

void BatchPQRemove (const BatchPQRemove & )

Defined at line 272 of file ../../zircon/kernel/vm/vm_cow_pages.cc

BatchPQRemove & operator= (const BatchPQRemove & )

Defined at line 272 of file ../../zircon/kernel/vm/vm_cow_pages.cc

void Push (vm_page_t * page)

Add a page to the batch set. Automatically calls |Flush| if the limit is reached.

Defined at line 275 of file ../../zircon/kernel/vm/vm_cow_pages.cc

void PushContent (VmPageOrMarker * page_or_marker)

Removes any content from the supplied |page_or_marker| and either calls |Push| or otherwise

frees it. Always leaves the |page_or_marker| in the empty state.

Automatically calls |Flush| if the limit on pages is reached.

Defined at line 296 of file ../../zircon/kernel/vm/vm_cow_pages.cc

void Flush ()

Performs |Remove| on any pending pages. This allows you to know that all pages are in the

original list so that you can do operations on the list.

Defined at line 309 of file ../../zircon/kernel/vm/vm_cow_pages.cc

size_t freed_count ()

Returns the number of pages that were added to |freed_list_| by calls to Flush(). The

|freed_count_| counter keeps a running count of freed pages as they are removed and added to

|freed_list_|, avoiding having to walk |freed_list_| to compute its length.

Defined at line 329 of file ../../zircon/kernel/vm/vm_cow_pages.cc

(lambda at ../../zircon/kernel/vm/vm_cow_pages.cc:334:12) RemovePagesCallback ()

Produces a callback suitable for passing to VmPageList::RemovePages that will |PushContent| all

items.

Defined at line 333 of file ../../zircon/kernel/vm/vm_cow_pages.cc