Home
last modified time | relevance | path

Searched full:offset (Results 1 – 25 of 206) sorted by relevance

123456789

/ark/js_runtime/ecmascript/regexp/
Dregexp_opcode.cpp129 uint32_t SaveStartOpCode::DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const in DumpOpCode()
131 out << offset << ":\t" in DumpOpCode()
132 << "save_start\t" << buf.GetU8(offset + 1) << std::endl; in DumpOpCode()
133 return offset + GetSize(); in DumpOpCode()
144 uint32_t SaveEndOpCode::DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const in DumpOpCode()
146 out << offset << ":\t" in DumpOpCode()
147 << "save_end\t" << buf.GetU8(offset + 1) << std::endl; in DumpOpCode()
148 return offset + GetSize(); in DumpOpCode()
159 uint32_t CharOpCode::DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const in DumpOpCode()
161 out << offset << ":\t" in DumpOpCode()
[all …]
Dregexp_opcode.h89 virtual uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const = 0;
103 uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const override;
113 uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const override;
123 uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const override;
130 void UpdateOpPara(DynChunk *buf, uint32_t offset, uint32_t para) const;
134 uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const override;
140 uint32_t InsertOpCode(DynChunk *buf, uint32_t offset, uint32_t para) const;
144 uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const override;
150 uint32_t InsertOpCode(DynChunk *buf, uint32_t offset, uint32_t para) const;
154 uint32_t DumpOpCode(std::ostream &out, const DynChunk &buf, uint32_t offset) const override;
[all …]
Ddyn_chunk.h46 int EmitSelf(size_t offset, size_t len);
87 inline uint32_t GetU32(size_t offset) const in GetU32() argument
90 return *reinterpret_cast<uint32_t *>(buf_ + offset); in GetU32()
93 inline void PutU32(size_t offset, uint32_t data) const in PutU32() argument
96 *reinterpret_cast<uint32_t *>(buf_ + offset) = data; in PutU32()
99 inline uint32_t GetU16(size_t offset) const in GetU16() argument
102 return *reinterpret_cast<uint16_t *>(buf_ + offset); in GetU16()
105 inline void PutU16(size_t offset, uint16_t data) const in PutU16() argument
108 *reinterpret_cast<uint16_t *>(buf_ + offset) = data; in PutU16()
111 inline uint32_t GetU8(size_t offset) const in GetU8() argument
[all …]
/ark/runtime_core/runtime/include/
Dobject_header-inl.h33 inline T ObjectHeader::GetFieldPrimitive(size_t offset) const in GetFieldPrimitive() argument
35 return ObjectAccessor::GetPrimitive<T, is_volatile>(this, offset); in GetFieldPrimitive()
40 inline void ObjectHeader::SetFieldPrimitive(size_t offset, T value) in SetFieldPrimitive() argument
42 ObjectAccessor::SetPrimitive<T, is_volatile>(this, offset, value); in SetFieldPrimitive()
47 inline ObjectHeader *ObjectHeader::GetFieldObject(int offset) const in GetFieldObject() argument
49 return ObjectAccessor::GetObject<is_volatile, need_read_barrier, is_dyn>(this, offset); in GetFieldObject()
54 inline void ObjectHeader::SetFieldObject(size_t offset, ObjectHeader *value) in SetFieldObject() argument
56 ObjectAccessor::SetObject<is_volatile, need_write_barrier, is_dyn>(this, offset, value); in SetFieldObject()
101 inline void ObjectHeader::SetFieldObject(ManagedThread *thread, size_t offset, ObjectHeader *value) in SetFieldObject() argument
103 ObjectAccessor::SetObject<is_volatile, need_write_barrier, is_dyn>(thread, this, offset, value); in SetFieldObject()
[all …]
Dobject_accessor.h32 static T GetPrimitive(const void *obj, size_t offset) in GetPrimitive() argument
34 return Get<T, is_volatile>(obj, offset); in GetPrimitive()
38 static void SetPrimitive(void *obj, size_t offset, T value) in SetPrimitive() argument
40 Set<T, is_volatile>(obj, offset, value); in SetPrimitive()
44 static ObjectHeader *GetObject(const void *obj, size_t offset);
47 static void SetObject(void *obj, size_t offset, ObjectHeader *value);
63 static ObjectHeader *GetObject(const ManagedThread *thread, const void *obj, size_t offset);
66 … static void SetObject(const ManagedThread *thread, void *obj, size_t offset, ObjectHeader *value);
75 static T GetFieldPrimitive(const void *obj, size_t offset, std::memory_order memory_order);
78 … static void SetFieldPrimitive(void *obj, size_t offset, T value, std::memory_order memory_order);
[all …]
Dobject_accessor-inl.h31 inline ObjectHeader *ObjectAccessor::GetObject(const void *obj, size_t offset) in GetObject() argument
35 return reinterpret_cast<ObjectHeader *>(Get<object_pointer_type, is_volatile>(obj, offset)); in GetObject()
37 return Get<ObjectHeader *, is_volatile>(obj, offset); in GetObject()
43 inline void ObjectAccessor::SetObject(void *obj, size_t offset, ObjectHeader *value) in SetObject() argument
50 ObjectHeader *pre_val = GetObject<is_volatile, is_dyn>(obj, offset); in SetObject()
51 barrier_set->PreBarrier(ToVoidPtr(ToUintPtr(obj) + offset), pre_val); in SetObject()
55 Set<object_pointer_type, is_volatile>(obj, offset, ToObjPtrType(value)); in SetObject()
57 Set<ObjectHeader *, is_volatile>(obj, offset, value); in SetObject()
65 Set<object_pointer_type, is_volatile>(obj, offset, ToObjPtrType(value)); in SetObject()
67 Set<ObjectHeader *, is_volatile>(obj, offset, value); in SetObject()
[all …]
Dclass-inl.h392 inline T Class::GetFieldPrimitive(size_t offset) const in GetFieldPrimitive() argument
395 return ObjectAccessor::GetPrimitive<T, is_volatile>(this, offset); in GetFieldPrimitive()
400 inline void Class::SetFieldPrimitive(size_t offset, T value) in SetFieldPrimitive() argument
402 ObjectAccessor::SetPrimitive<T, is_volatile>(this, offset, value); in SetFieldPrimitive()
407 inline ObjectHeader *Class::GetFieldObject(size_t offset) const in GetFieldObject() argument
410 return ObjectAccessor::GetObject<is_volatile, need_read_barrier>(this, offset); in GetFieldObject()
415 inline void Class::SetFieldObject(size_t offset, ObjectHeader *value) in SetFieldObject() argument
418 auto new_offset = offset + (ToUintPtr(this) - ToUintPtr(object)); in SetFieldObject()
446 auto offset = field.GetOffset() + (ToUintPtr(this) - ToUintPtr(object)); in SetFieldObject() local
448 ObjectAccessor::SetObject<true, need_write_barrier>(object, offset, value); in SetFieldObject()
[all …]
Dobject_header.h176 inline void *FieldAddr(int offset) const;
182 T GetFieldPrimitive(size_t offset) const;
185 void SetFieldPrimitive(size_t offset, T value);
188 ObjectHeader *GetFieldObject(int offset) const;
191 void SetFieldObject(size_t offset, ObjectHeader *value);
213 void SetFieldObject(ManagedThread *thread, size_t offset, ObjectHeader *value);
216 T GetFieldPrimitive(size_t offset, std::memory_order memory_order) const;
219 void SetFieldPrimitive(size_t offset, T value, std::memory_order memory_order);
222 ObjectHeader *GetFieldObject(size_t offset, std::memory_order memory_order) const;
225 void SetFieldObject(size_t offset, ObjectHeader *value, std::memory_order memory_order);
[all …]
/ark/runtime_core/runtime/include/coretypes/
Darray-inl.h30 inline T Array::GetPrimitive(size_t offset) const in GetPrimitive() argument
32 return ObjectAccessor::GetPrimitive<T, is_volatile>(this, GetDataOffset() + offset); in GetPrimitive()
37 inline void Array::SetPrimitive(size_t offset, T value) in SetPrimitive() argument
39 ObjectAccessor::SetPrimitive<T, is_volatile>(this, GetDataOffset() + offset, value); in SetPrimitive()
44 inline ObjectHeader *Array::GetObject(int offset) const in GetObject() argument
46 … ObjectAccessor::GetObject<is_volatile, need_read_barrier, is_dyn>(this, GetDataOffset() + offset); in GetObject()
51 inline void Array::SetObject(size_t offset, ObjectHeader *value) in SetObject() argument
53 …ccessor::SetObject<is_volatile, need_write_barrier, is_dyn>(this, GetDataOffset() + offset, value); in SetObject()
57 inline T Array::GetPrimitive(size_t offset, std::memory_order memory_order) const in GetPrimitive() argument
59 return ObjectAccessor::GetFieldPrimitive<T>(this, GetDataOffset() + offset, memory_order); in GetPrimitive()
[all …]
Darray.h100 T GetPrimitive(size_t offset) const;
103 void SetPrimitive(size_t offset, T value);
106 ObjectHeader *GetObject(int offset) const;
109 void SetObject(size_t offset, ObjectHeader *value);
112 T GetPrimitive(size_t offset, std::memory_order memory_order) const;
115 void SetPrimitive(size_t offset, T value, std::memory_order memory_order);
118 ObjectHeader *GetObject(size_t offset, std::memory_order memory_order) const;
121 void SetObject(size_t offset, ObjectHeader *value, std::memory_order memory_order);
124 …bool CompareAndSetPrimitive(size_t offset, T old_value, T new_value, std::memory_order memory_orde…
127 bool CompareAndSetObject(size_t offset, ObjectHeader *old_value, ObjectHeader *new_value,
[all …]
/ark/runtime_core/verification/job_queue/
Djob.h44 void AddField(uint32_t offset, const CachedField &cached_field) in AddField() argument
46 fields.emplace(offset, std::cref(cached_field)); in AddField()
49 void AddMethod(uint32_t offset, const CachedMethod &ch_method) in AddMethod() argument
51 methods.emplace(offset, std::cref(ch_method)); in AddMethod()
54 void AddClass(uint32_t offset, const CachedClass &ch_method) in AddClass() argument
56 classes.emplace(offset, std::cref(ch_method)); in AddClass()
59 bool IsFieldPresentForOffset(uint32_t offset) const in IsFieldPresentForOffset() argument
61 return fields.count(offset) != 0; in IsFieldPresentForOffset()
64 bool IsMethodPresentForOffset(uint32_t offset) const in IsMethodPresentForOffset() argument
66 return methods.count(offset) != 0; in IsMethodPresentForOffset()
[all …]
/ark/runtime_core/libpandabase/utils/
Dbit_memory_region.h53 Iterator(const BitMemoryRegion &region, uint32_t offset) : region_(region), bit_(offset) in Iterator() argument
130 bool Read(size_t offset) in Read() argument
132 ASSERT(offset < size_); in Read()
133 size_t index = (start_ + offset) / BITS_PER_BYTE; in Read()
134 size_t shift = (start_ + offset) % BITS_PER_BYTE; in Read()
139 void Write(bool value, size_t offset) in Write() argument
141 ASSERT(offset < size_); in Write()
142 size_t index = (start_ + offset) / BITS_PER_BYTE; in Write()
143 size_t shift = (start_ + offset) % BITS_PER_BYTE; in Write()
153 Read(size_t offset, size_t length) const in Read() argument
[all …]
/ark/runtime_core/libpandabase/tests/
Dbit_memory_region_test.cpp23 static void CompareData(const uint8_t *data, size_t offset, size_t length, uint32_t value, uint8_t … in CompareData() argument
26 … uint8_t expected = (offset <= i && i < offset + length) ? value >> (i - offset) : fill_value; in CompareData()
39 for (size_t offset = 0; offset < MAX_BITS_COUNT; offset++) { in TEST() local
44 BitMemoryRegion region1(data.data(), offset, 1); in TEST()
47 CompareData(data.data(), offset, 1, value, fill_value); in TEST()
50 region2.Write(value, offset); in TEST()
51 ASSERT_EQ(region2.Read(offset), value); in TEST()
52 CompareData(data.data(), offset, 1, value, fill_value); in TEST()
64 for (size_t offset = 0; offset < MAX_BITS_COUNT; offset++) { in TEST() local
70 BitMemoryRegion region1(data.data(), offset, length); in TEST()
[all …]
/ark/js_runtime/ecmascript/compiler/
Dbytecode_circuit_builder.cpp53 int8_t offset = READ_INST_8_0(); in CollectBytecodeBlockInfo() local
55 temp.emplace_back(pc + offset); in CollectBytecodeBlockInfo()
61 …bytecodeBlockInfos.emplace_back(pc + offset, SplitKind::START, std::vector<uint8_t *>(1, pc + offs… in CollectBytecodeBlockInfo()
65 int16_t offset = READ_INST_16_0(); in CollectBytecodeBlockInfo() local
67 temp.emplace_back(pc + offset); in CollectBytecodeBlockInfo()
71 bytecodeBlockInfos.emplace_back(pc + offset, SplitKind::START, in CollectBytecodeBlockInfo()
72 std::vector<uint8_t *>(1, pc + offset)); in CollectBytecodeBlockInfo()
76 int32_t offset = READ_INST_32_0(); in CollectBytecodeBlockInfo() local
78 temp.emplace_back(pc + offset); in CollectBytecodeBlockInfo()
82 …bytecodeBlockInfos.emplace_back(pc + offset, SplitKind::START, std::vector<uint8_t *>(1, pc + offs… in CollectBytecodeBlockInfo()
[all …]
/ark/runtime_core/docs/
Dfile_format.md40 if we have an offset to an entity it doesn't matter whether it is local or foreign.
42 Runtime can easily check the type of an offset by checking if it is in the foreign region
45 or create a runtime object from the definition by the offset (for local entities).
53 The value 0 of an offset means that there is no data.
54 An offset cannot contain values in the range *\[0; 32)*.
211 A file begins with the header which is located at offset 0.
227Offset to the foreign region. The region must contain elements only of the types [ForeignField](#f…
230 | `class_idx_off` | `uint32_t` | Offset to the class index structure. The offset must p…
232 | `lnp_idx_off` | `uint32_t` | Offset to the line number program index structure. The…
234 | `literalarray_idx_off` | `uint32_t` | Offset to the literal array index structure. The offse…
[all …]
/ark/runtime_core/runtime/
Dhandle_storage-inl.h27 uint32_t offset = index & NODE_BLOCK_SIZE_MASK; in GetNodeAddress() local
29 auto location = &(*node)[offset]; in GetNodeAddress()
37 uint32_t offset = lastIndex_ & NODE_BLOCK_SIZE_MASK; in NewHandle() local
44 auto loc = &(*node)[offset]; in NewHandle()
72 uint32_t offset = lastIndex_ & NODE_BLOCK_SIZE_MASK; in ZapFreedHandles() local
78 for (uint32_t j = offset; j < NODE_BLOCK_SIZE; ++j) { in ZapFreedHandles()
92 uint32_t offset = lastIndex_ & NODE_BLOCK_SIZE_MASK; in UpdateHeapObject() local
95 uint32_t count = (i != nid) ? NODE_BLOCK_SIZE : offset; in UpdateHeapObject()
112 uint32_t offset = lastIndex_ & NODE_BLOCK_SIZE_MASK; in VisitGCRoots() local
113 if (offset == 0) { in VisitGCRoots()
[all …]
/ark/runtime_core/runtime/arch/
Dasm_support.h47 #define CFI_DEF_CFA(reg, offset) .cfi_def_cfa reg, (offset) argument
49 #define CFI_ADJUST_CFA_OFFSET(offset) .cfi_adjust_cfa_offset (offset) argument
53 #define CFI_REL_OFFSET(reg, offset) .cfi_rel_offset reg, (offset) argument
55 #define CFI_OFFSET(reg, offset) .cfi_offset reg, (offset) argument
72 #define CFI_DEF_CFA(reg, offset) argument
74 #define CFI_ADJUST_CFA_OFFSET(offset) argument
78 #define CFI_REL_OFFSET(reg, offset) argument
80 #define CFI_OFFSET(reg, offset) argument
/ark/runtime_core/libpandafile/
Dbytecode_instruction-inl.h26 inline auto BytecodeInst<Mode>::ReadHelper(size_t byteoffset, size_t bytecount, size_t offset, size… in ReadHelper() argument
30 size_t right_shift = offset % BYTE_WIDTH; in ReadHelper()
52 template <size_t offset, size_t width, bool is_signed /* = false */>
56 constexpr size_t BYTE_OFFSET = offset / BYTE_WIDTH; in Read()
57 constexpr size_t BYTE_OFFSET_END = (offset + width + BYTE_WIDTH - 1) / BYTE_WIDTH; in Read()
63 return ReadHelper<return_type, storage_type>(BYTE_OFFSET, BYTE_COUNT, offset, width); in Read()
69 inline auto BytecodeInst<Mode>::Read64(size_t offset, size_t width) const in Read64() argument
74 ASSERT((offset % BYTE_WIDTH) + width <= BIT64); in Read64()
76 size_t byteoffset = offset / BYTE_WIDTH; in Read64()
77 size_t byteoffset_end = (offset + width + BYTE_WIDTH - 1) / BYTE_WIDTH; in Read64()
[all …]
Dbytecode_instruction.h85 const uint8_t *GetPointer(int32_t offset) const in GetPointer() argument
88 return pc_ + offset; in GetPointer()
102 T Read(size_t offset) const in Read() argument
105 return *reinterpret_cast<unaligned_type *>(GetPointer(offset)); in Read()
108 uint8_t ReadByte(size_t offset) const in ReadByte() argument
110 return Read<uint8_t>(offset); in ReadByte()
130 const uint8_t *GetPointer(int32_t offset) const in GetPointer() argument
132 return GetPointer(offset, 1); in GetPointer()
142 const uint8_t *GetPointer(int32_t offset, size_t size) const in GetPointer() argument
145 const uint8_t *ptr_from = pc_ + offset; in GetPointer()
[all …]
/ark/runtime_core/runtime/tests/
Doffsets_test.cpp25 ASSERT_EQ(MEMBER_OFFSET(klass, member), offset); \
26 offset += klass::ELEMENTS_ALIGN; \
31 size_t offset = 0; in TEST() local
35 …gedThread::StoragePacked32::ELEMENTS_NUM * ManagedThread::StoragePacked32::ELEMENTS_ALIGN, offset); in TEST()
37 offset = 0; in TEST()
49 …dThread::StoragePackedPtr::ELEMENTS_NUM * ManagedThread::StoragePackedPtr::ELEMENTS_ALIGN, offset); in TEST()
54 size_t offset = 0; in TEST() local
60 …ASSERT_EQ(Method::StoragePacked32::ELEMENTS_NUM * Method::StoragePacked32::ELEMENTS_ALIGN, offset); in TEST()
62 offset = 0; in TEST()
67 …SERT_EQ(Method::StoragePackedPtr::ELEMENTS_NUM * Method::StoragePackedPtr::ELEMENTS_ALIGN, offset); in TEST()
/ark/runtime_core/runtime/mem/gc/
Dcrossing_map.h137 // |.... Offset ....|.... Status ....|
139 // According Status bits, we can use the offset value in such a way:
143 …// - if Status == Initialized, the Offset value is an offset in words of the first element on this…
146 …// - if Status == Crossed border, the Offset value is an offset in crossing map array to a page wh…
149 …// - if Status == Initialized and Crossed border, the Offset value is an offset in words of the fi…
197 void SetInitialized(CROSSING_MAP_TYPE offset) in SetInitialized() argument
199 ASSERT(offset <= MAX_OFFSET_VALUE); in SetInitialized()
200 value_ = (offset << STATUS_SIZE); in SetInitialized()
204 void SetInitializedAndCrossedBorder(CROSSING_MAP_TYPE offset) in SetInitializedAndCrossedBorder() argument
206 ASSERT(offset <= MAX_OFFSET_VALUE); in SetInitializedAndCrossedBorder()
[all …]
/ark/js_runtime/ecmascript/mem/
Dbarriers.h25 static inline void SetDynPrimitive(void *obj, size_t offset, T value) in SetDynPrimitive() argument
27 auto *addr = reinterpret_cast<T *>(ToUintPtr(obj) + offset); in SetDynPrimitive()
33 static inline bool AtomicSetDynPrimitive(volatile void *obj, size_t offset, T oldValue, T value) in AtomicSetDynPrimitive() argument
35 … volatile auto atomicField = reinterpret_cast<volatile std::atomic<T> *>(ToUintPtr(obj) + offset); in AtomicSetDynPrimitive()
41 …static inline void SetDynObject(const JSThread *thread, void *obj, size_t offset, JSTaggedType val…
44 static inline T GetDynValue(const void *obj, size_t offset) in GetDynValue() argument
46 auto *addr = reinterpret_cast<T *>(ToUintPtr(obj) + offset); in GetDynValue()
/ark/runtime_core/runtime/mem/
Dobject_helpers-inl.h33 … [[maybe_unused]] uint32_t offset, [[maybe_unused]] bool is_volatile) const in operator()
51 … [[maybe_unused]] uint32_t offset, [[maybe_unused]] bool is_volatile) const in operator()
89 size_t offset = field.GetOffset(); in TraverseFields() local
92 ObjectHeader *field_object = object_header->GetFieldObject(offset); in TraverseFields()
109 uint32_t offset = cls->GetRefFieldsOffset<true>(); in TraverseClass() local
111 for (uint32_t i = 0; i < ref_num; i++, offset += ClassHelper::OBJECT_POINTER_SIZE) { in TraverseClass()
113 …field_object = is_volatile ? cls->GetFieldObject<true>(offset) : cls->GetFieldObject<false>(offset in TraverseClass()
115 field_visitor(cls, field_object, offset, is_volatile); in TraverseClass()
130 uint32_t offset = cls->GetRefFieldsOffset<false>(); in TraverseObject() local
132 for (uint32_t i = 0; i < ref_num; i++, offset += ClassHelper::OBJECT_POINTER_SIZE) { in TraverseObject()
[all …]
/ark/js_runtime/ecmascript/tooling/backend/
Djs_pt_extractor.h76 uint32_t currentOffset = lineTable[i].offset; in MatchWithLocation()
77 … uint32_t nextOffset = ((i == lineTable.size() - 1) ? UINT32_MAX : lineTable[i + 1].offset); in MatchWithLocation()
79 … if (pair.column == column && pair.offset >= currentOffset && pair.offset < nextOffset) { in MatchWithLocation()
80 return cb(method, pair.offset); in MatchWithLocation()
90 bool MatchLineWithOffset(const Callback &cb, File::EntityId methodId, uint32_t offset) in MatchLineWithOffset() argument
94 … auto iter = std::upper_bound(lineTable.begin(), lineTable.end(), LineTableEntry {offset, 0}); in MatchLineWithOffset()
102 bool MatchColumnWithOffset(const Callback &cb, File::EntityId methodId, uint32_t offset) in MatchColumnWithOffset() argument
106 …auto iter = std::upper_bound(columnTable.begin(), columnTable.end(), ColumnTableEntry {offset, 0}); in MatchColumnWithOffset()
121 std::list<JSPtStepRange> GetStepRanges(File::EntityId methodId, uint32_t offset);
/ark/js_runtime/ecmascript/
Decma_macros.h52 #define GET_VALUE(addr, offset) Barriers::GetDynValue<JSTaggedType>((addr), (offset)) argument
55 #define SET_VALUE_WITH_BARRIER(thread, addr, offset, value) \ argument
57 Barriers::SetDynObject<true>(thread, addr, offset, (value).GetRawData()); \
59 Barriers::SetDynPrimitive<JSTaggedType>(addr, offset, (value).GetRawData()); \
63 #define SET_VALUE_PRIMITIVE(addr, offset, value) \ argument
64 Barriers::SetDynPrimitive<JSTaggedType>(this, offset, (value).GetRawData())
67 #define ACCESSORS(name, offset, endOffset) … argument
68 …static constexpr size_t endOffset = (offset) + JSTaggedValue::TaggedTypeSize(); …
73 …return JSTaggedValue(Barriers::GetDynValue<JSTaggedType>(this, offset)); …
80 … Barriers::SetDynObject<true>(thread, this, offset, value.GetTaggedValue().GetRawData()); \
[all …]

123456789