Definition at line 1799 of file message_snapshot.cc.
◆ TransferableTypedDataMessageSerializationCluster()
dart::TransferableTypedDataMessageSerializationCluster::TransferableTypedDataMessageSerializationCluster |
( |
| ) |
|
|
inline |
Definition at line 1802 of file message_snapshot.cc.
1805 kTransferableTypedDataCid) {}
MessageSerializationCluster(const char *name, MessagePhase phase, intptr_t cid, bool is_canonical=false)
◆ ~TransferableTypedDataMessageSerializationCluster()
dart::TransferableTypedDataMessageSerializationCluster::~TransferableTypedDataMessageSerializationCluster |
( |
| ) |
|
|
inline |
◆ Trace()
Implements dart::MessageSerializationCluster.
Definition at line 1808 of file message_snapshot.cc.
1808 {
1809 TransferableTypedData* transferable =
1810 static_cast<TransferableTypedData*>(object);
1811 objects_.Add(transferable);
1812
1813 void* peer =
s->thread()->heap()->GetPeer(transferable->ptr());
1814
1816 TransferableTypedDataPeer* tpeer =
1817 reinterpret_cast<TransferableTypedDataPeer*>(peer);
1818 if (tpeer->data() == nullptr) {
1819 s->IllegalObject(*
object,
1820 "TransferableTypedData has been transferred already");
1821 }
1822 }
◆ WriteNodes()
void dart::TransferableTypedDataMessageSerializationCluster::WriteNodes |
( |
MessageSerializer * |
s | ) |
|
|
inlinevirtual |
Implements dart::MessageSerializationCluster.
Definition at line 1824 of file message_snapshot.cc.
1824 {
1825 const intptr_t
count = objects_.length();
1827 for (intptr_t
i = 0;
i <
count;
i++) {
1828 TransferableTypedData* transferable = objects_[
i];
1829 s->AssignRef(transferable);
1830
1831 void* peer =
s->thread()->heap()->GetPeer(transferable->ptr());
1832
1834 TransferableTypedDataPeer* tpeer =
1835 reinterpret_cast<TransferableTypedDataPeer*>(peer);
1836 intptr_t
length = tpeer->length();
1837 void*
data = tpeer->data();
1840 s->finalizable_data()->Put(
1842
1843
1844 [](
void*
data,
void* peer) {},
1845
1846 [](
void*
data,
void* peer) {
1847 TransferableTypedDataPeer* ttpeer =
1848 reinterpret_cast<TransferableTypedDataPeer*>(peer);
1850 ttpeer->ClearData();
1851 });
1852 }
1853 }
static IsolateGroup * Current()
static int8_t data[kExtLength]
The documentation for this class was generated from the following file: