class VmPageOrMarkerRef

Defined at line 442 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

Limited reference to a VmPageOrMarker. This reference provides unrestricted const access to the

underlying VmPageOrMarker, but as it holds a non-const VmPageOrMarker* it has the ability to

modify the underlying entry. However, the interface for modification is very limited.

This allows for the majority of VmPageList iterations that are not intended to allow for clearing

entries to the Empty state to allow limited mutation (such as between different content states),

without being completely mutable.

Public Methods

void VmPageOrMarkerRef ()

Defined at line 444 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

void VmPageOrMarkerRef (VmPageOrMarker * page_or_marker)

Defined at line 445 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

void ~VmPageOrMarkerRef ()

Defined at line 446 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

const VmPageOrMarker & operator* ()

Defined at line 448 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

const VmPageOrMarker * operator-> ()

Defined at line 453 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

bool operator bool ()

Defined at line 458 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

VmPageOrMarker::ReferenceValue SwapReferenceForPage (vm_page_t * p)

Changing the kind of content is an allowed mutation and this takes ownership of the provided

page and returns ownership of the previous reference.

Defined at line 462 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

vm_page_t * SwapPageForReference (VmPageOrMarker::ReferenceValue ref)

Similar to SwapReferenceForPage, but takes ownership of the ref and returns ownership of the

previous page.

Defined at line 468 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

VmPageOrMarker::ReferenceValue SwapReferenceForReference (VmPageOrMarker::ReferenceValue ref)

Similar to SwapReferenceForPage, but changes one reference for another.

Defined at line 473 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

VmPageOrMarker SwapContent (VmPageOrMarker && content)

Replaces the contents of this VmPageOrMarker with some non-empty contents, and returns what was

previously present. The previous content is allowed to be empty, but the provided content must

be non-empty.

Defined at line 482 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

void SetZeroIntervalAwaitingCleanLength (uint64_t len)

Forward dirty state updates as an allowed mutation.

Defined at line 489 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h