Home
last modified time | relevance | path

Searched full:reference (Results 1 – 25 of 259) sorted by relevance

1234567891011

/arkcompiler/runtime_core/runtime/mem/refstorage/
Dglobal_object_storage.cpp26 #include "reference.h"
44 bool GlobalObjectStorage::IsValidGlobalRef(const Reference *ref) const in IsValidGlobalRef()
47 Reference::ObjectType type = Reference::GetType(ref); in IsValidGlobalRef()
49 if (type == Reference::ObjectType::GLOBAL) { in IsValidGlobalRef()
61 Reference *GlobalObjectStorage::Add(const ObjectHeader *object, Reference::ObjectType type) const in Add()
67 Reference *ref = nullptr; in Add()
68 if (type == Reference::ObjectType::GLOBAL) { in Add()
74 ref = Reference::SetType(ref, type); in Add()
79 ObjectHeader *GlobalObjectStorage::Get(const Reference *reference) const in Get()
81 if (reference == nullptr) { in Get()
[all …]
Dreference_storage.h20 #include "runtime/mem/refstorage/reference.h"
27 class Reference; variable
50 static Reference::ObjectType GetObjectType(const Reference *ref);
52 [[nodiscard]] static Reference *NewStackRef(ObjectHeader **object_ptr) in NewStackRef()
58 return Reference::Create(ToUintPtr(object_ptr), Reference::ObjectType::STACK); in NewStackRef()
61 [[nodiscard]] Reference *NewRef(const ObjectHeader *object, Reference::ObjectType object_type);
63 void RemoveRef(const Reference *ref);
65 [[nodiscard]] ObjectHeader *GetObject(const Reference *ref);
76 …* Pops the last frame, frees all local references in this frame and moves given reference to the p…
77 …* return it's new reference. Should be NULL if you don't want to return any value to previous fram…
[all …]
Dreference.h33 class Reference {
57 DEFAULT_COPY_SEMANTIC(Reference);
58 DEFAULT_MOVE_SEMANTIC(Reference);
59 ~Reference() = delete;
60 Reference() = delete;
89 static Reference *CreateWithoutType(uintptr_t addr) in CreateWithoutType()
92 return reinterpret_cast<Reference *>(addr); in CreateWithoutType()
95 static Reference *Create(uintptr_t addr, ObjectType type) in Create()
101 static ObjectType GetType(const Reference *ref) in GetType()
107 static Reference *SetType(Reference *ref, ObjectType type) in SetType()
[all …]
Dreference_storage.cpp73 bool ReferenceStorage::IsValidRef(const Reference *ref) in IsValidRef()
76 auto type = Reference::GetType(ref); in IsValidRef()
79 if (type == mem::Reference::ObjectType::STACK) { in IsValidRef()
81 …} else if (type == mem::Reference::ObjectType::GLOBAL || type == mem::Reference::ObjectType::WEAK)… in IsValidRef()
85 auto ref_without_type = Reference::GetRefWithoutType(ref); in IsValidRef()
93 Reference::ObjectType ReferenceStorage::GetObjectType(const Reference *ref) in GetObjectType()
99 Reference *ReferenceStorage::NewRef(const ObjectHeader *object, Reference::ObjectType type) in NewRef()
101 ASSERT(type != Reference::ObjectType::STACK); in NewRef()
107 Reference *ref = nullptr; in NewRef()
108 if (type == Reference::ObjectType::GLOBAL || type == Reference::ObjectType::WEAK) { in NewRef()
[all …]
Dglobal_object_storage.h29 #include "reference.h"
50 * Check whether ref is a valid global reference or not.
52 bool IsValidGlobalRef(const Reference *ref) const;
57 Reference *Add(const ObjectHeader *object, Reference::ObjectType type) const;
60 …* Get stored object associated with given reference. Reference should be returned on Add method be…
62 ObjectHeader *Get(const Reference *reference) const;
65 …* Remove object from storage by given reference. Reference should be returned on Add method before.
67 void Remove(const Reference *reference);
100 static void AssertType([[maybe_unused]] Reference::ObjectType type) in AssertType()
102 ASSERT(type == Reference::ObjectType::GLOBAL || type == Reference::ObjectType::WEAK); in AssertType()
[all …]
Dref_block.cpp31 Reference *RefBlock::AddRef(const ObjectHeader *object, Reference::ObjectType type) in AddRef()
36 auto *ref = reinterpret_cast<Reference *>(&refs_[index]); in AddRef()
37 ref = Reference::SetType(ref, type); in AddRef()
41 void RefBlock::Remove(const Reference *ref) in Remove()
44 ref = Reference::GetRefWithoutType(ref); in Remove()
99 PandaVector<Reference *> RefBlock::GetAllReferencesInFrame() in GetAllReferencesInFrame()
101 PandaVector<Reference *> refs; in GetAllReferencesInFrame()
108 auto *current_ref = reinterpret_cast<Reference *>(&block->refs_[index]); in GetAllReferencesInFrame()
Dref_block.h23 #include "runtime/mem/refstorage/reference.h"
111 Reference *AddRef(const ObjectHeader *object, Reference::ObjectType type);
113 void Remove(const Reference *ref);
125 PandaVector<Reference *> GetAllReferencesInFrame();
/arkcompiler/runtime_core/verification/
Dverification.yaml69 - reference
110 - reference
119 - reference
137 - reference
155 - reference
171 - reference
187 - reference
201 - reference
216 - reference
230 - reference
[all …]
/arkcompiler/runtime_core/runtime/mem/gc/reference-processor/
Dreference_processor.h31 class Reference; variable
51 …* True if current object is Reference and it's referent is not marked yet (maybe need to process t…
52 …* Predicate checks GC-specific conditions on this reference (i.e. if we need to skip this referenc…
59 …* Save reference for future processing and handle it with GC point of view (mark needed fields, if…
60 …* Predicate checks if we should add this reference to the queue (e.g. don't process to many refs o…
75 virtual panda::mem::Reference *CollectClearedReferences() = 0;
77 virtual void ScheduleForEnqueue(Reference *clearedReferences) = 0;
82 virtual void Enqueue(panda::mem::Reference *clearedReferences) = 0;
Dempty_reference_processor.h45 panda::mem::Reference *CollectClearedReferences() override in CollectClearedReferences()
50 void ScheduleForEnqueue([[maybe_unused]] Reference *clearedReferences) override {} in ScheduleForEnqueue()
52 void Enqueue([[maybe_unused]] panda::mem::Reference *clearedReferences) override {} in Enqueue()
/arkcompiler/runtime_core/verification/util/
Doptional_ref.h38 OptionalConstRef(const T &reference) : value {const_cast<T *>(&reference)} {} in OptionalConstRef()
40 … OptionalConstRef(std::reference_wrapper<const T> reference) : OptionalConstRef(reference.get()) {} in OptionalConstRef()
106 OptionalRef(T &reference) : OptionalConstRef<T>(&reference) {} in OptionalRef()
108 OptionalRef(std::reference_wrapper<T> reference) : OptionalRef(reference.get()) {} in OptionalRef()
/arkcompiler/runtime_core/runtime/mem/
Dobject_helpers.h61 * @param from_object object from which we found object by reference
111 * Traverse all kinds of object_header and call obj_visitor for each reference field.
117 * Traverse all kinds of object_header and call handler for each reference field.
118 … * The handler accepts the object, the reference value, offset to the reference in the object and
127 * Update a single reference field in the object to the moved value.
145 * Traverse all kinds of object_header and call obj_visitor for each reference field.
151 * Traverse all kinds of object_header and call handler for each reference field.
152 … * The handler accepts the object, the reference value, offset to the reference in the object and
161 * Update a single reference field in the object to the moved value.
Drem_set.h39 * \brief Set in the Region. To record the regions and cards reference to this region.
74 …* Used in the barrier. Record the reference from the region of obj_addr to the region of value_add…
76 * @param value_addr - address of the reference in the field
82 …* Used in the barrier. Record the reference from the region of addr to the region of the reference
Dheap_verifier.h29 * HeapReferenceVerifier checks reference checks if the referent is with the heap and it is live.
46 …er iterates over HeapManager's allocated objects. If an object contains reference, it checks if the
134 * Check that updated reference \p updated_ref from \p object has same state as before
137 * @param object the object which contains verifying reference
140 * @return true if reference is correct and false otherwise
/arkcompiler/runtime_core/libpandafile/templates/
Dtype.h.erb34 static_assert(TypeId::I64 < TypeId::REFERENCE);
39 static_assert(TypeId::U64 < TypeId::REFERENCE);
43 static_assert(TypeId::F64 < TypeId::REFERENCE);
48 return type_ != TypeId::REFERENCE;
52 return type_ == TypeId::REFERENCE;
147 case panda_file::Type::TypeId::REFERENCE:
186 return Type(panda_file::Type::TypeId::REFERENCE);
219 uint8_t ref_encoding = Type(TypeId::REFERENCE).GetFieldEncoding();
226 // It means the field_encoding is a reference type which refers to Class or ForeignClass
228 return Type(TypeId::REFERENCE);
/arkcompiler/runtime_core/compiler/tests/
Dinst_generator.h139 …DataType::REFERENCE, DataType::BOOL, DataType::UINT8, DataType::INT8, DataType::UINT16, DataTy…
142 …std::vector<DataType::Type> ref_int_types_ {DataType::REFERENCE, DataType::BOOL, DataType::UINT8,…
146 …std::vector<DataType::Type> all_types_ {DataType::REFERENCE, DataType::BOOL, DataType::UINT8, D…
193 {Opcode::NewArray, {DataType::REFERENCE}},
207 {Opcode::NewObject, {DataType::REFERENCE}},
212 {Opcode::LoadString, {DataType::REFERENCE}},
213 {Opcode::LoadType, {DataType::REFERENCE}},
220 {Opcode::NullPtr, {DataType::REFERENCE}},
223 DataType::REFERENCE}},
226 DataType::REFERENCE}},
[all …]
Dinst_generator.cpp194 type = DataType::REFERENCE; in GenerateOperation()
212 auto array = CreateParamInst(graph, DataType::REFERENCE, 0); in GenerateOperation()
234 auto array = CreateParamInst(graph, DataType::REFERENCE, stack_slot++); in GenerateOperation()
285 auto param1 = CreateParamInst(graph, DataType::REFERENCE, 0); // array in GenerateOperation()
295 auto param1 = CreateParamInst(graph, DataType::REFERENCE, 0); // array/object in GenerateOperation()
329 init_inst->SetType(DataType::REFERENCE); in GenerateOperation()
341 init_inst->SetType(DataType::REFERENCE); in GenerateOperation()
348 auto param0 = CreateParamInst(graph, DataType::REFERENCE, 0); in GenerateOperation()
364 auto param0 = CreateParamInst(graph, DataType::REFERENCE, 0); in GenerateOperation()
369 loadClass->SetType(DataType::REFERENCE); in GenerateOperation()
[all …]
/arkcompiler/runtime_core/libpandabase/utils/
Dring_buffer.h35 using reference = value_type &; variable
82 constexpr reference operator*() const noexcept
126 using reference = value_type &; variable
168 * @return a reference to the inserted element
171 constexpr reference emplace_back(Args... args) // NOLINT(readability-identifier-naming) in emplace_back()
202 * @return a reference to the inserted element
205 constexpr reference emplace_front(Args... args) // NOLINT(readability-identifier-naming) in emplace_front()
337 * @return reference to first element in ring buffer
339 constexpr reference front() noexcept // NOLINT(readability-identifier-naming) in front()
345 * @return const reference to first element in ring buffer
[all …]
/arkcompiler/runtime_core/tests/cts-generator/cts-template/
Dlda.null.yaml18 title: Load null reference into accumulator
19 description: Load null reference into accumulator.
31 description: Check lda.null loads null reference into accumulator.
Dmov.null.yaml18 title: Move null reference into register
19 description: Move null reference into a register.
26 description: Check mov.null moves null reference to register.
/arkcompiler/runtime_core/docs/diagrams/
Dgc-mark.puactivity24 if (The object is a Reference object in the same generation space with reference) then(Yes)
29 :Mark all fields in Reference except 'referent';
/arkcompiler/runtime_core/compiler/optimizer/ir/
Dgraph_checker.cpp123 // Check that between savestate and it's runtime call user have not reference insts. in Check()
204 // Inst with reference type must have no_cse and no_hoist flags. in CheckDataFlow()
205 …if (inst->GetType() == DataType::REFERENCE && !inst->IsClassInst() && opc != Opcode::GetInstanceCl… in CheckDataFlow()
238 user_input_type == DataType::POINTER && inst->GetType() == DataType::REFERENCE; in CheckDataFlow()
758 // Non-reference instructions, checks, nullptr and classes cannot be moved by GC in CheckDataFlow()
759 … ASSERT((*it)->GetType() != DataType::REFERENCE || IsObjectCheckDisabledForOpcode(*it)); in CheckDataFlow()
820 if (inst->GetType() == DataType::REFERENCE) { in CheckDataFlow()
1195 …ASSERT_DO(need_barrier == (inst->GetType() == DataType::REFERENCE) || inst->GetType() == DataType:… in CheckDataFlow()
1209 …ASSERT_DO(need_barrier == (inst->GetType() == DataType::REFERENCE) || inst->GetType() == DataType:… in CheckDataFlow()
1219 …ASSERT_DO(need_barrier == (inst->GetType() == DataType::REFERENCE) || inst->GetType() == DataType:… in CheckDataFlow()
[all …]
Ddatatype.h31 REFERENCE, enumerator
65 "ref", // REFERENCE
210 case REFERENCE: in Is32Bits()
250 return type == REFERENCE; in IsReference()
278 case REFERENCE: in ShiftByType()
/arkcompiler/runtime_core/runtime/tests/
Dpygote_space_allocator_test_base.h134 global_object_storage->Add(non_movable_header, panda::mem::Reference::ObjectType::GLOBAL); in NonMovableLiveObjectAllocTest()
162 global_object_storage->Add(non_movable_header, panda::mem::Reference::ObjectType::GLOBAL); in NonMovableUnliveObjectAllocTest()
185 …[[maybe_unused]] auto *ref = global_object_storage->Add(movable_header, panda::mem::Reference::Obj… in MovableLiveObjectAllocTest()
208 …[[maybe_unused]] auto *ref = global_object_storage->Add(movable_header, panda::mem::Reference::Obj… in MovableUnliveObjectAllocTest()
231 PandaVector<Reference *> movable_refs; in MuchObjectAllocTest()
232 PandaVector<Reference *> non_movable_refs; in MuchObjectAllocTest()
235 …movable_refs.push_back(global_object_storage->Add(movable, panda::mem::Reference::ObjectType::GLOB… in MuchObjectAllocTest()
237 …non_movable_refs.push_back(global_object_storage->Add(non_movable, panda::mem::Reference::ObjectTy… in MuchObjectAllocTest()
/arkcompiler/runtime_core/compiler/optimizer/templates/intrinsics/
Dcompiler_intrinsics.rb43 TYPES[signature.ret] || "REFERENCE"
47 (signature.args.length() < impl_signature.args.length() ? ["REFERENCE"] : []) +
48 signature.args.map {|arg| TYPES[arg] || "REFERENCE" }

1234567891011