| /arkcompiler/runtime_core/compiler/docs/ |
| D | plt.md | 24 …lot` is filled during AOT file loading into runtime and contains `PLT CallStatic Resolver` address. 26 to address of `SecondSlot`, subtracted by `GetCompiledEntryPointOffset` value. 38 -YY-00: ThirdSlot - address of (-YY-08-56) <-------------- 41 -NN: address of handler 0, NN = N * 8 | 43 -16: address of handler N-1 | 44 -08: address of handler N | 48 XX+00: adr x0, #-(YY+XX) ; Put to the x0 address of ThirdSlot ; before resolve ; after resolve 60 …pointer`, it is stored into `ThirdSlot`, allow to load proper executable address, and goes as first 78 -NN: address of handler 0, NN = N * 8 | 80 -16: address of handler N-1 | [all …]
|
| D | avoid-calculating-start-of-array.md | 1 # Avoid re-calculating the address of array data for consequent array accesses 6 the address of the actual array data has to be infered from the object address. 12 in the unnecessary repetitive calculation of the data payload address. 22 interspersed by instructions that call runtime. Calculate the payload address 24 array acesses instead of object address. Replace the `{Store, Load}Array`
|
| D | interface_inline_cache.md | 5 …ces to be inherited, and uses the itable table to dynamically query the address of the target met… 6 `Interface Inline Cache` will stores the parsing result of the previous method address as the cache… 15 * `Slow path`: Call runtime RESOLVE_VIRTUAL_CALL_AOT to get method address and save method addr a… 49 3. cache's address is in an file's aot_got section 56 2. because `class address` is no move in ark, so we do not need to worry that the saved class will … 57 3. if class address is move, it is still save, but maybe the hit rate will be lower.
|
| /arkcompiler/runtime_core/runtime/mem/ |
| D | tlab.cpp | 26 TLAB::TLAB(void *address, size_t size) in TLAB() argument 30 Fill(address, size); in TLAB() 31 …LOG_TLAB_ALLOCATOR(DEBUG) << "Construct a new TLAB at addr " << std::hex << address << " with size… in TLAB() 35 void TLAB::Fill(void *address, size_t size) in Fill() argument 37 ASSERT(ToUintPtr(address) == AlignUp(ToUintPtr(address), DEFAULT_ALIGNMENT_IN_BYTES)); in Fill() 38 memory_start_addr_ = address; in Fill() 39 memory_end_addr_ = ToVoidPtr(ToUintPtr(address) + size); in Fill() 40 cur_free_position_ = address; in Fill() 42 …LOG_TLAB_ALLOCATOR(DEBUG) << "Fill a TLAB with buffer at addr " << std::hex << address << " with s… in Fill()
|
| D | rem_set.h | 75 * @param obj_addr - address of the object 76 * @param value_addr - address of the reference in the field 83 * @param addr - address of the object
|
| D | heap_verifier.cpp | 117 LOG_HEAP_VERIFIER << "Heap corruption found! Class address for root " << std::hex in VerifyRoot() 148 << " has non-heap class address: " << class_addr; in VerifyAll() 180 LOG_HEAP_VERIFIER << "Class address for root " << std::hex << root_obj_header in VerifyAll() 207 << ", which is not forwarded, new reference address: " << updated_ref; in VerifyUpdatedRef() 214 << updated_ref << ", correct address: " << correct_address; in VerifyUpdatedRef() 219 … LOG_HEAP_VERIFIER << "Object " << std::hex << object_header << " has incorrect class address (" in VerifyUpdatedRef() 221 << ", class address before collection: " << class_address_; in VerifyUpdatedRef()
|
| /arkcompiler/ets_runtime/ecmascript/ |
| D | js_thread.h | 63 Address stubEntries_[COUNT] = {0}; 68 void Set(size_t index, Address addr) in Set() 74 Address* GetAddr() in GetAddr() 76 return reinterpret_cast<Address*>(stubEntries_); in GetAddr() 79 Address Get(size_t index) const in Get() 89 Address stubEntries_[COUNT]; 94 void Set(size_t index, Address addr) in Set() 100 Address Get(size_t index) const in Get() 110 Address stubEntries_[COUNT]; 115 void Set(size_t index, Address addr) in Set() [all …]
|
| D | free_object.cpp | 20 FreeObject *FreeObject::FillFreeObject(EcmaVM *vm, uintptr_t address, size_t size) in FillFreeObject() argument 22 ASAN_UNPOISON_MEMORY_REGION(reinterpret_cast<void *>(address), size); in FillFreeObject() 23 FreeObject *freeObject = vm->GetFactory()->FillFreeObject(address, size); in FillFreeObject() 24 ASAN_POISON_MEMORY_REGION(reinterpret_cast<void *>(address), size); in FillFreeObject()
|
| /arkcompiler/ets_runtime/ecmascript/dfx/hprof/ |
| D | heap_snapshot.h | 39 using Address = uintptr_t; variable 53 Address address, bool isLive = true) 60 address_(address), in id_() 115 Address GetAddress() const in GetAddress() 119 void SetAddress(Address address) in SetAddress() argument 121 address_ = address; in SetAddress() 138 static Address NewAddress(T *addr) in NewAddress() 140 return reinterpret_cast<Address>(addr); in NewAddress() 153 Address address_ {0x0}; 267 Node *FindAndEraseNode(Address addr); [all …]
|
| D | heap_tracker.cpp | 35 void HeapTracker::AllocationEvent(TaggedObject *address, size_t size) in AllocationEvent() argument 38 Node *node = snapshot_->AddNode(address, size); in AllocationEvent() 50 void HeapTracker::MoveEvent(uintptr_t address, TaggedObject *forwardAddress, size_t size) in MoveEvent() argument 53 snapshot_->MoveNode(address, forwardAddress, size); in MoveEvent()
|
| /arkcompiler/runtime_core/libpandabase/mem/ |
| D | gc_barrier.h | 79 …* CONCURRENT_MARKING_ADDR - address of bool flag which indicates that we have concurrent marking on 80 * STORE_IN_BUFF_TO_MARK_FUNC - address of function to store replaced reference 95 * MIN_ADDR - minimal address used by runtime (it is required only to support 64-bit addresses) 96 * CARD_TABLE_ADDR - address of the start of card table raw data array 113 * // Check if new_val and address of field is in different regions 169 ADDRESS = 0, // just an address (void*) enumerator 170 BOOL_ADDRESS, // contains address of bool value (bool*) 171 UINT8_ADDRESS, // contains address of uint8_t value 172 … FUNC_WITH_OBJ_REF_ADDRESS, // contains address of function with this sig: void foo(void* ); 174 …FUNC_WITH_TWO_OBJ_REF_ADDRESSES, // contains address of function with this sig: void foo(void* , …
|
| D | mem_pool.h | 78 * @param allocator_addr - address of the allocator header. 107 * @param allocator_addr - address of the allocator header. 128 * Get info about the allocator in which this address is used 138 * Get space type which this address used for 148 * Get address of pool start for input address 149 * @param addr address in pool 150 * @return address of pool start
|
| D | mmap_mem_pool.h | 129 * Get min address in pool 130 * @return min address in pool 143 * Get max address in pool 144 * @return max address in pool 157 * Get start address of pool for input address in this pool 158 * @param addr address in pool 159 * @return start address of pool 248 uintptr_t min_address_ {0U}; /// < Min address for the space 253 uintptr_t min_object_memory_addr_ {0U}; // < Minimal address of the mmaped object memory
|
| D | mem.h | 206 inline bool IsAddressInObjectsHeap([[maybe_unused]] uintptr_t address) in IsAddressInObjectsHeap() argument 209 …return PANDA_32BITS_HEAP_START_ADDRESS <= address && address < PANDA_32BITS_HEAP_END_OBJECTS_ADDRE… in IsAddressInObjectsHeap() 215 inline bool IsInObjectsAddressSpace(uintptr_t address) in IsInObjectsAddressSpace() argument 217 return address == ToUintPtr(nullptr) || IsAddressInObjectsHeap(address); in IsInObjectsAddressSpace() 221 inline bool IsInObjectsAddressSpace(T *address) in IsInObjectsAddressSpace() argument 223 return IsInObjectsAddressSpace(ToUintPtr(address)); in IsInObjectsAddressSpace()
|
| /arkcompiler/runtime_core/docs/ |
| D | aot.md | 64 -NN: address of handler 0, NN = N * 8 66 -16: address of handler N-1 67 -08: address of handler N 76 instruction from this address. Example for arm64: 82 -NN: address of handler 0, NN = N * 8 84 -16: address of handler N-1 85 -08: address of handler N <----- 92 80: adr x30, #-88 -------------- ; Put to the x30 address of last entry in the table 93 84: ldr x30, [x30] ; Load address of the entrypoint handler
|
| D | runtime-compiled_code-interaction.md | 107 (Stack grows in increasing order: higher slot has lower address) 129 | Return address | 137 - return address - address to which control will be transfered after the function gets returned. 141 `frame pointer` register contains a pointer to the place in the stack where the return address is s… 180 * Bridge Function address load and branch intruction 192 | Return address | 242 m | return address | 276 e | return address | 290 * The top stack frame is an interpreter stack frame. Address of the interpreter's frame could be re… 291 * The top stack frame is a compiled code stack frame. `frame pointer` register contains the address… [all …]
|
| /arkcompiler/runtime_core/runtime/mem/gc/ |
| D | gc_barrier_set.h | 69 * @param obj_addr - address of field where we store 76 * @param obj_addr - address of the array object 83 * @param object_addr - address of the object 89 … * Get barrier operand (literal, function pointer, address etc. See enum BarrierType for details. 92 * @return barrier operand (value is address or literal) 164 … BarrierOperand(BarrierOperandType::ADDRESS, BarrierOperandValue(min_addr))); in GCGenBarrierSet() 189 …void *min_addr_ {nullptr}; //! Minimal address used by VM. Used as a base for card inde… 190 uint8_t *card_table_addr_ {nullptr}; //! Address of card table 238 … BarrierOperand(BarrierOperandType::ADDRESS, BarrierOperandValue(min_addr_))); in GCG1BarrierSet() 281 …void *min_addr_ {nullptr}; //! Minimal address used by VM. Used as a base for card inde…
|
| /arkcompiler/ets_runtime/ecmascript/mem/ |
| D | parallel_evacuator.cpp | 115 uintptr_t address = 0; in EvacuateRegion() local 119 address = allocator->Allocate(size, OLD_SPACE); in EvacuateRegion() 123 address = allocator->Allocate(size, OLD_SPACE); in EvacuateRegion() 126 address = allocator->Allocate(size, SEMI_SPACE); in EvacuateRegion() 127 if (address == 0) { in EvacuateRegion() 128 address = allocator->Allocate(size, OLD_SPACE); in EvacuateRegion() 133 LOG_ECMA_IF(address == 0, FATAL) << "Evacuate object failed:" << size; in EvacuateRegion() 135 if (memcpy_s(ToVoidPtr(address), size, ToVoidPtr(ToUintPtr(mem)), size) != EOK) { in EvacuateRegion() 138 …p_->OnMoveEvent(reinterpret_cast<uintptr_t>(mem), reinterpret_cast<TaggedObject *>(address), size); in EvacuateRegion() 139 Barriers::SetPrimitive(header, 0, MarkWord::FromForwardingAddress(address)); in EvacuateRegion() [all …]
|
| /arkcompiler/runtime_core/cmake/ |
| D | Sanitizers.cmake | 19 option(PANDA_ENABLE_ADDRESS_SANITIZER "Address sanitizer enable" false) 27 list(APPEND PANDA_SANITIZERS_LIST "address") 67 # Available sanitizers: address, thread, undefined 82 set(AVAILABLE_SANITIZERS "address" "undefined" "thread")
|
| /arkcompiler/runtime_core/libpandabase/os/ |
| D | mem.h | 86 * @param addr Address to align 87 * @return Aligned address 296 * @param hint - an desired address to map file to. 320 * Returned address will be aligned as \param aligment_in_bytes. 330 // ASAN mapped its structures at this magic address (shadow offset): 332 // Therefore, we can successfully allocate memory at fixed address started somewhere at lower addre… 333 // and it can overlap sanitizer address space and mmap with MAP_FIXED flag finished successfully. 346 * Anonymous mmap with fixed address and READ | WRITE protection for pages 349 * @param mem used address 382 * @param pages_start - address of pages beginning, should be multiple of PAGE_SIZE [all …]
|
| /arkcompiler/ets_runtime/ecmascript/tests/ |
| D | glue_regs_test.cpp | 62 const JSTaggedValue *address = globalConst->BeginSlot(); in HWTEST_F_L0() local 63 while (address < globalConst->EndSlot()) { in HWTEST_F_L0() 64 EXPECT_TRUE(!(*address).IsHole()); // Visit barely in HWTEST_F_L0() 65 address += 1; in HWTEST_F_L0()
|
| /arkcompiler/runtime_core/compiler/code_info/ |
| D | code_info_tables.h | 53 static constexpr uintptr_t PackAddress(uintptr_t address, Arch arch) in PackAddress() argument 55 ASSERT(IsAligned(address, GetInstructionAlignment(arch))); in PackAddress() 56 return address / GetInstructionAlignment(arch); in PackAddress() 64 static constexpr uintptr_t UnpackAddress(uintptr_t address, Arch arch) in UnpackAddress() argument 66 return address * GetInstructionAlignment(arch); in UnpackAddress()
|
| /arkcompiler/ets_runtime/ecmascript/stackmap/ |
| D | llvm_stackmap_parser.cpp | 61 [this, &recordNum, &pc2CallSiteInfo, &deoptbundles](uintptr_t address, uint32_t recordId) { in CalcCallSite() argument 67 uintptr_t callsite = address + instructionOffset; in CalcCallSite() 75 … << loc.OffsetOrSmallConstant << "address:" << address << " instructionOffset:" << in CalcCallSite() 111 uintptr_t address = llvmStackMap_.StkSizeRecords[i].functionAddress; in CalcCallSite() local 113 fun2RecordNum_.emplace_back(std::make_pair(address, recordCount)); in CalcCallSite() 115 calStkMapRecordFunc(address, k); in CalcCallSite()
|
| D | ark_stackmap_parser.cpp | 96 uintptr_t address = 0; in GetStackSlotAddress() local 98 address = callSiteSp + info.second; in GetStackSlotAddress() 100 address = callsiteFp + info.second; in GetStackSlotAddress() 104 return address; in GetStackSlotAddress() 143 // The base address may be marked repeatedly in IteratorStackMap()
|
| /arkcompiler/runtime_core/irtoc/scripts/ |
| D | allocation.irt | 50 # Load pointer to the start address of free memory in the TLAB 53 # Load pointer to the end address of free memory in the TLAB 107 # Load pointer to the start address of free memory in the TLAB 110 # Load pointer to the end address of free memory in the TLAB
|