Home
last modified time | relevance | path

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

1234567

/ark/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.h21 #include "runtime/mem/refstorage/reference.h"
28 class Reference; variable
51 static Reference::ObjectType GetObjectType(const Reference *ref);
53 [[nodiscard]] static Reference *NewStackRef(const ObjectHeader *const *object_ptr) in NewStackRef()
59 return Reference::Create(ToUintPtr(object_ptr), Reference::ObjectType::STACK); in NewStackRef()
62 [[nodiscard]] Reference *NewRef(const ObjectHeader *object, Reference::ObjectType object_type);
64 void RemoveRef(const Reference *ref);
66 [[nodiscard]] ObjectHeader *GetObject(const Reference *ref);
77 …* Pops the last frame, frees all local references in this frame and moves given reference to the p…
78 …* return it's new reference. Should be NULL if you don't want to return any value to previous fram…
[all …]
Dreference.h34 class Reference {
56 DEFAULT_COPY_SEMANTIC(Reference);
57 DEFAULT_MOVE_SEMANTIC(Reference);
58 ~Reference() = delete;
59 Reference() = delete;
88 static Reference *CreateWithoutType(uintptr_t addr) in CreateWithoutType()
91 return reinterpret_cast<Reference *>(addr); in CreateWithoutType()
94 static Reference *Create(uintptr_t addr, ObjectType type) in Create()
100 static ObjectType GetType(const Reference *ref) in GetType()
106 static Reference *SetType(Reference *ref, ObjectType type) in SetType()
[all …]
Dreference_storage.cpp71 bool ReferenceStorage::IsValidRef(const Reference *ref) in IsValidRef()
74 auto type = Reference::GetType(ref); in IsValidRef()
77 if (type == mem::Reference::ObjectType::STACK) { in IsValidRef()
79 …} else if (type == mem::Reference::ObjectType::GLOBAL || type == mem::Reference::ObjectType::WEAK)… in IsValidRef()
83 auto ref_without_type = Reference::GetRefWithoutType(ref); in IsValidRef()
90 Reference::ObjectType ReferenceStorage::GetObjectType(const Reference *ref) in GetObjectType()
96 Reference *ReferenceStorage::NewRef(const ObjectHeader *object, Reference::ObjectType type) in NewRef()
98 ASSERT(type != Reference::ObjectType::STACK); in NewRef()
104 Reference *ref = nullptr; in NewRef()
105 if (type == Reference::ObjectType::GLOBAL || type == Reference::ObjectType::WEAK) { in NewRef()
[all …]
Dglobal_object_storage.h30 #include "reference.h"
52 * Check whether ref is a valid global reference or not.
54 bool IsValidGlobalRef(const Reference *ref) const;
59 Reference *Add(const ObjectHeader *object, Reference::ObjectType type) const;
62 …* Get stored object associated with given reference. Reference should be returned on Add method be…
64 ObjectHeader *Get(const Reference *reference) const;
67 …* Remove object from storage by given reference. Reference should be returned on Add method before.
69 void Remove(const Reference *reference) const;
101 static void AssertType([[maybe_unused]] Reference::ObjectType type) in AssertType()
103 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()
94 PandaVector<Reference *> RefBlock::GetAllReferencesInFrame() in GetAllReferencesInFrame()
96 PandaVector<Reference *> refs; in GetAllReferencesInFrame()
103 auto *current_ref = reinterpret_cast<Reference *>(&block->refs_[index]); in GetAllReferencesInFrame()
Dref_block.h24 #include "runtime/mem/refstorage/reference.h"
112 Reference *AddRef(const ObjectHeader *object, Reference::ObjectType type);
114 void Remove(const Reference *ref);
126 PandaVector<Reference *> GetAllReferencesInFrame();
/ark/runtime_core/verification/
Dverification.yaml64 - reference
97 - reference
106 - reference
124 - reference
142 - reference
158 - reference
174 - reference
188 - reference
203 - reference
217 - reference
[all …]
/ark/runtime_core/runtime/mem/gc/reference-processor/
Dreference_processor.h32 class Reference; variable
52 …* True if current object is Reference and its referent is not marked yet (maybe need to process th…
57 * Process discovered Reference in the future. Called by GC in marking phase.
59 virtual void DelayReferenceProcessing(const BaseClass *baseCls, ObjPtr reference) = 0;
62 * Handle reference with GC point of view (mark needed fields, if necessary)
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.h33 …ceProcessing([[maybe_unused]] const BaseClass *baseCls, [[maybe_unused]] ObjPtr reference) override in DelayReferenceProcessing() argument
47 panda::mem::Reference *CollectClearedReferences() override in CollectClearedReferences()
52 void ScheduleForEnqueue([[maybe_unused]] Reference *clearedReferences) override {} in ScheduleForEnqueue()
54 void Enqueue([[maybe_unused]] panda::mem::Reference *clearedReferences) override {} in Enqueue()
/ark/runtime_core/runtime/mem/
Drem_set.h35 * \brief Set in the Region. To record the regions and cards reference to this region.
67 …* Used in the barrier. Record the reference from the region of obj_addr to the region of value_add…
69 * @param value_addr - address of the reference in the field
74 …* Used in the barrier. Record the reference from the region of addr to the region of the reference
Dheap_verifier.h33 * HeapReferenceVerifier checks reference checks if the referent is with the heap and it is live.
54 …er iterates over HeapManager's allocated objects. If an object contains reference, it checks if the
/ark/runtime_core/runtime/tooling/
Dpt_reference.cpp84 …auto *rs_ref = thread->GetPtReferenceStorage()->NewRef(objectHeader, mem::Reference::ObjectType::L… in PtCreateLocalReference()
93 auto *rs_ref = reinterpret_cast<const mem::Reference *>(localRef); in PtDestroyLocalReference()
102 auto *rs_ref = reinterpret_cast<const mem::Reference *>(ref); in PtGetObjectHeaderByReference()
111 …PandaVM::GetCurrent()->GetGlobalObjectStorage()->Add(objectHeader, mem::Reference::ObjectType::GLO… in PtCreateGlobalReference()
121 …PandaVM::GetCurrent()->GetGlobalObjectStorage()->Add(objectHeader, mem::Reference::ObjectType::GLO… in PtCreateGlobalReference()
129 auto ref = reinterpret_cast<const mem::Reference *>(globalRef); in PtDestroyGlobalReference()
/ark/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.
41 description: Check mov.null moves null reference to register.
/ark/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';
/ark/runtime_core/libpandafile/templates/
Dtype.h.erb34 return type_ != TypeId::REFERENCE;
38 return type_ == TypeId::REFERENCE;
133 case panda_file::Type::TypeId::REFERENCE:
172 return Type(panda_file::Type::TypeId::REFERENCE);
205 uint8_t ref_encoding = Type(TypeId::REFERENCE).GetFieldEncoding();
212 // It means the field_encoding is a reference type which refers to Class or ForeignClass
214 return Type(TypeId::REFERENCE);
/ark/runtime_core/runtime/tests/
Dpygote_space_allocator_test_base.h135 global_object_storage->Add(non_movable_header, panda::mem::Reference::ObjectType::GLOBAL); in NonMovableLiveObjectAllocTest()
163 global_object_storage->Add(non_movable_header, panda::mem::Reference::ObjectType::GLOBAL); in NonMovableUnliveObjectAllocTest()
186 …[[maybe_unused]] auto *ref = global_object_storage->Add(movable_header, panda::mem::Reference::Obj… in MovableLiveObjectAllocTest()
209 …[[maybe_unused]] auto *ref = global_object_storage->Add(movable_header, panda::mem::Reference::Obj… in MovableUnliveObjectAllocTest()
232 PandaVector<Reference *> movable_refs; in MuchObjectAllocTest()
233 PandaVector<Reference *> non_movable_refs; in MuchObjectAllocTest()
236 …movable_refs.push_back(global_object_storage->Add(movable, panda::mem::Reference::ObjectType::GLOB… in MuchObjectAllocTest()
238 …non_movable_refs.push_back(global_object_storage->Add(non_movable, panda::mem::Reference::ObjectTy… in MuchObjectAllocTest()
Dc2i_bridge_test.cpp129 if (ret_type == TypeId::REFERENCE) { in MakeNoArgsMethod()
130 …// 'operator <<' for TypeId::REFERENCE returns 'reference'. So create a class to handle this situa… in MakeNoArgsMethod()
131 out << ".record reference {}\n"; in MakeNoArgsMethod()
140 } else if (ret_type == TypeId::REFERENCE) { in MakeNoArgsMethod()
196 … if ((TypeId::F32 <= *shorty_it && *shorty_it <= TypeId::U64) || *shorty_it == TypeId::REFERENCE || in MakeCheckArgsMethod()
249 out << ".record reference {}\n"; in MakeCheckArgsMethod()
304 auto method = MakeNoArgsMethod(TypeId::REFERENCE, 0); in TEST_F()
/ark/js_runtime/ecmascript/
Djs_serializer.h47 // Tagged object reference mark
49 // Support tagged objct id reference begin
68 // Support tagged objct id reference end
127 // The Reference map is used for check whether a tagged object has been serialized
128 // Reference map works only if no gc happens during serialization
/ark/runtime_core/docs/
Dassembly_format.md175 ### Reference Data Types
177 Following reference types are supported:
181 | `cref` | Code reference, represents reference to the bytecode executable by Panda virtual machine…
182 | `dref` | Data reference, represents reference to aggregate data types (see below). |
184 All identifiers that are used for naming reference data types cannot be used for any other purpose.
205 …s context this name implicitly denotes a `dref` type which implements a reference to the data repr…
274 By default all functions are static except those that are binded to record and accept reference to …
508 | `dref` | `reference` |
Dmemory-management-SW-requirements.md40 - Reference processor
64 - Reference storage and additional interfaces for MM <-> JNI interaction
/ark/js_runtime/ecmascript/snapshot/mem/
Dconstants.h21 static constexpr int OBJECT_TO_STRING_FLAG_NUMBER = 1; // 1 : reference to string
26 static constexpr int IS_REFERENCE_SLOT_BIT_NUMBER = 16; // [0x0000] is reference
/ark/runtime_core/verification/util/
Dshifted_vector.h34 typename Base::reference operator[](int idx)
44 typename Base::reference at(int idx) in at()
/ark/runtime_core/disassembler/templates/
Dtype_to_pandasm_type.cpp.erb27 % if (type.name == "reference")
49 % if (type.name != "reference" && type.name != "tagged")

1234567