class VmPageOrMarkerRef

Defined at line 471 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 473 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

void VmPageOrMarkerRef (VmPageOrMarker * page_or_marker)

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

void ~VmPageOrMarkerRef ()

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

const VmPageOrMarker & operator* ()

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

const VmPageOrMarker * operator-> ()

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

bool operator bool ()

Defined at line 487 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 491 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 497 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 502 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 511 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 518 of file ../../zircon/kernel/vm/include/vm/vm_page_list.h

uint32_t GetMarkerShareCount ()

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

void IncrementMarkerShareCount ()

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

void DecrementMarkerShareCount ()

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