Definition at line 3146 of file app_snapshot.cc.
◆ ObjectPoolSerializationCluster()
dart::ObjectPoolSerializationCluster::ObjectPoolSerializationCluster |
( |
| ) |
|
|
inline |
Definition at line 3148 of file app_snapshot.cc.
SerializationCluster(const char *name, intptr_t cid, intptr_t target_instance_size=kSizeVaries, bool is_canonical=false)
◆ ~ObjectPoolSerializationCluster()
dart::ObjectPoolSerializationCluster::~ObjectPoolSerializationCluster |
( |
| ) |
|
|
inline |
◆ Trace()
Implements dart::SerializationCluster.
Definition at line 3152 of file app_snapshot.cc.
3152 {
3155
3157 const intptr_t
length =
pool->untag()->length_;
3158 uint8_t* entry_bits =
pool->untag()->entry_bits();
3161 if (entry_type == ObjectPool::EntryType::kTaggedObject) {
3162 s->Push(
pool->untag()->data()[
i].raw_obj_);
3163 }
3164 }
3165 }
3166 }
static constexpr T decode(S value)
static ObjectPtr RawCast(ObjectPtr obj)
◆ WriteAlloc()
void dart::ObjectPoolSerializationCluster::WriteAlloc |
( |
Serializer * |
s | ) |
|
|
inlinevirtual |
◆ WriteFill()
void dart::ObjectPoolSerializationCluster::WriteFill |
( |
Serializer * |
s | ) |
|
|
inlinevirtual |
Implements dart::SerializationCluster.
Definition at line 3181 of file app_snapshot.cc.
3181 {
3183
3185 for (intptr_t
i = 0;
i <
count;
i++) {
3186 ObjectPoolPtr
pool = objects_[
i];
3188 const intptr_t
length =
pool->untag()->length_;
3190 uint8_t* entry_bits =
pool->untag()->entry_bits();
3191 for (intptr_t j = 0; j <
length; j++) {
3193 uint8_t
bits = entry_bits[j];
3196 ASSERT(snapshot_behavior !=
3197 ObjectPool::SnapshotBehavior::kNotSnapshotable);
3198 s->Write<uint8_t>(
bits);
3199 if (snapshot_behavior != ObjectPool::SnapshotBehavior::kSnapshotable) {
3200
3201
3202 continue;
3203 }
3205 case ObjectPool::EntryType::kTaggedObject: {
3206 if (weak && !
s->HasRef(entry.raw_obj_)) {
3207
3209 } else {
3210 s->WriteElementRef(entry.raw_obj_, j);
3211 }
3212 break;
3213 }
3214 case ObjectPool::EntryType::kImmediate: {
3215 s->Write<intptr_t>(entry.raw_value_);
3216 break;
3217 }
3218 case ObjectPool::EntryType::kNativeFunction: {
3219
3220 break;
3221 }
3222 default:
3224 }
3225 }
3226 }
3227 }
compiler::ObjectPoolBuilderEntry::EntryType EntryType
The documentation for this class was generated from the following file: