#include <dart_api_state.h>
Definition at line 517 of file dart_api_state.h.
◆ FinalizablePersistentHandles()
dart::FinalizablePersistentHandles::FinalizablePersistentHandles |
( |
| ) |
|
|
inline |
Definition at line 522 of file dart_api_state.h.
526 free_list_(nullptr) {}
static constexpr int kFinalizablePersistentHandleSizeInWords
static constexpr int kFinalizablePersistentHandlesPerChunk
static constexpr int kOffsetOfRawPtrInFinalizablePersistentHandle
◆ ~FinalizablePersistentHandles()
dart::FinalizablePersistentHandles::~FinalizablePersistentHandles |
( |
| ) |
|
|
inline |
◆ AllocateHandle()
Definition at line 552 of file dart_api_state.h.
552 {
553 FinalizablePersistentHandle* handle;
554 if (free_list_ != nullptr) {
555 handle = free_list_;
556 free_list_ = handle->Next();
558 return handle;
559 }
560
561 handle =
563 handle->Clear();
564 return handle;
565 }
uword AllocateScopedHandle()
◆ ClearHandle()
Definition at line 567 of file dart_api_state.h.
567 {
568 handle->Clear();
569 handle->SetFinalizedNotFreed();
570 }
◆ CountHandles()
int dart::FinalizablePersistentHandles::CountHandles |
( |
| ) |
const |
|
inline |
◆ free_list()
◆ FreeHandle()
Definition at line 572 of file dart_api_state.h.
572 {
575 }
void set_free_list(FinalizablePersistentHandle *value)
FinalizablePersistentHandle * free_list() const
◆ IsFreeHandle()
Definition at line 586 of file dart_api_state.h.
586 {
587 FinalizablePersistentHandle* handle = free_list_;
588 while (handle != nullptr) {
589 if (handle == reinterpret_cast<FinalizablePersistentHandle*>(object)) {
590 return true;
591 }
592 handle = handle->Next();
593 }
594 return false;
595 }
◆ IsValidHandle() [1/2]
Definition at line 582 of file dart_api_state.h.
582 {
584 }
bool IsValidScopedHandle(uword handle) const
◆ IsValidHandle() [2/2]
◆ set_free_list()
◆ VisitHandles()
void dart::FinalizablePersistentHandles::VisitHandles |
( |
HandleVisitor * |
visitor | ) |
|
|
inline |
Definition at line 534 of file dart_api_state.h.
534 {
538 }
void Visit(HandleVisitor *visitor)
◆ VisitObjectPointers()
Definition at line 541 of file dart_api_state.h.
541 {
542 visitor->set_gc_root_type("weak persistent handle");
547 visitor->clear_gc_root_type();
548 }
void VisitObjectPointers(ObjectPointerVisitor *visitor)
The documentation for this class was generated from the following file: