| /arkcompiler/ets_runtime/ecmascript/mem/ |
| D | parallel_marker-inl.h | 43 … void NonMovableMarker::HandleRoots(uint32_t threadId, [[maybe_unused]] Root type, ObjectSlot slot) in HandleRoots() argument 45 JSTaggedValue value(slot.GetTaggedType()); in HandleRoots() 54 for (ObjectSlot slot = start; slot < end; slot++) { in HandleRangeRoots() local 55 JSTaggedValue value(slot.GetTaggedType()); in HandleRangeRoots() 69 …// It is only used to update the derived value. The mark of partial GC does not need to update slot in HandleDerivedRoots() 75 ObjectSlot slot(ToUintPtr(mem)); in HandleOldToNewRSet() 76 JSTaggedValue value(slot.GetTaggedType()); in HandleOldToNewRSet() 80 << " " << slot.GetTaggedType(); in HandleOldToNewRSet() 88 if (value.GetRawData() != slot.GetTaggedType()) { in HandleOldToNewRSet() 90 << slot.GetTaggedType() << " " in HandleOldToNewRSet() [all …]
|
| D | verification.cpp | 30 for (ObjectSlot slot = start; slot < end; slot++) { in VisitAllObjects() local 31 JSTaggedValue value(slot.GetTaggedType()); in VisitAllObjects() 35 << " at object:" << slot.SlotAddress(); in VisitAllObjects() 41 << " at object:" << slot.SlotAddress(); in VisitAllObjects() 51 ObjectSlot slot(reinterpret_cast<uintptr_t>(obj)); in operator ()() local 53 LOG_GC(DEBUG) << "Heap object(" << slot.SlotAddress() << ") old to new rset fail: value is " in operator ()() 54 << slot.GetTaggedType(); in operator ()() 61 LOG_GC(ERROR) << "Heap object(" << slot.GetTaggedType() << ") old to new rset fail: value(" in operator ()() 62 << slot.GetTaggedObject() << "/" in operator ()() 63 << JSHClass::DumpJSType(slot.GetTaggedObject()->GetClass()->GetObjectType()) in operator ()() [all …]
|
| D | parallel_evacuator-inl.h | 34 bool ParallelEvacuator::UpdateOldToNewObjectSlot(ObjectSlot &slot) in UpdateOldToNewObjectSlot() argument 36 JSTaggedValue value(slot.GetTaggedType()); in UpdateOldToNewObjectSlot() 50 slot.Update(dst); in UpdateOldToNewObjectSlot() 58 slot.Clear(); in UpdateOldToNewObjectSlot() 67 slot.Clear(); in UpdateOldToNewObjectSlot() 76 void ParallelEvacuator::UpdateObjectSlot(ObjectSlot &slot) in UpdateObjectSlot() argument 78 JSTaggedValue value(slot.GetTaggedType()); in UpdateObjectSlot() 81 return UpdateWeakObjectSlot(value.GetTaggedWeakRef(), slot); in UpdateObjectSlot() 87 slot.Update(dst); in UpdateObjectSlot() 92 void ParallelEvacuator::UpdateWeakObjectSlot(TaggedObject *value, ObjectSlot &slot) in UpdateWeakObjectSlot() argument [all …]
|
| D | parallel_marker.cpp | 59 for (ObjectSlot slot = start; slot < end; slot++) { in ProcessMarkStack() local 60 JSTaggedValue value(slot.GetTaggedType()); in ProcessMarkStack() 67 … RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(slot.SlotAddress()), rootRegion); in ProcessMarkStack() 73 rootRegion->AtomicInsertCrossRegionRSet(slot.SlotAddress()); in ProcessMarkStack() 101 for (ObjectSlot slot = start; slot < end; slot++) { in ProcessMarkStack() local 102 JSTaggedValue value(slot.GetTaggedType()); in ProcessMarkStack() 106 … RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(slot.SlotAddress()), rootRegion); in ProcessMarkStack() 109 auto slotStatus = MarkObject(threadId, value.GetTaggedObject(), slot); in ProcessMarkStack() 111 SlotNeedUpdate waitUpdate(reinterpret_cast<TaggedObject *>(root), slot); in ProcessMarkStack() 133 for (ObjectSlot slot = start; slot < end; slot++) { in ProcessMarkStack() local [all …]
|
| D | parallel_marker.h | 60 [[maybe_unused]] ObjectSlot slot) // move in MarkObject() argument 67 …virtual inline void HandleRoots(uint32_t threadId, [[maybe_unused]] Root type, ObjectSlot slot) = … 91 … inline void HandleRoots(uint32_t threadId, [[maybe_unused]] Root type, ObjectSlot slot) override; 107 … inline void HandleRoots(uint32_t threadId, [[maybe_unused]] Root type, ObjectSlot slot) override; 113 ObjectSlot slot) = 0; 120 ObjectSlot slot, bool isPromoted = false); 121 …ateForwardAddressIfFailed(TaggedObject *object, uintptr_t toAddress, size_t size, ObjectSlot slot); 133 inline SlotStatus MarkObject(uint32_t threadId, TaggedObject *object, ObjectSlot slot) override; 135 ObjectSlot slot) override; 157 inline SlotStatus MarkObject(uint32_t threadId, TaggedObject *object, ObjectSlot slot) override; [all …]
|
| D | parallel_evacuator.cpp | 155 for (ObjectSlot slot = start; slot < end; slot++) { in VerifyHeapObject() local 156 JSTaggedValue value(slot.GetTaggedType()); in VerifyHeapObject() 167 << ", body address:" << slot.SlotAddress() in VerifyHeapObject() 224 RootVisitor gcUpdateYoung = [this]([[maybe_unused]] Root type, ObjectSlot slot) { in UpdateRoot() argument 225 UpdateObjectSlot(slot); in UpdateRoot() 228 for (ObjectSlot slot = start; slot < end; slot++) { in UpdateRoot() local 229 UpdateObjectSlot(slot); in UpdateRoot() 253 ObjectSlot slot(ToUintPtr(obj)); in UpdateRecordWeakReference() local 254 JSTaggedValue value(slot.GetTaggedType()); in UpdateRecordWeakReference() 256 UpdateWeakObjectSlot(value.GetTaggedWeakRef(), slot); in UpdateRecordWeakReference() [all …]
|
| /arkcompiler/runtime_core/compiler/docs/ |
| D | aot_resolve_string.md | 4 mode such runtime calls could be replaced with load from a special PLT-slot in AOT file. In that ca… 5 loads a value from a slot associated with a string and checks if that value is valid pointer. If it… 7 returned string pointer into the slot and subsequent executions of the same code will bypass runtim… 12 a PLT-slot check with `ResolveStringAot` runtime call as a fallback. 19 If the condition is met then the compiler reserves a unique PLT-slot (with type `STRING_SLOT`) for … 20 emits load from that slot, followed by the check that the loaded value is a valid pointer and the s… 28 saved into the associated PLT-slot; 34 - checks the value already stored in `STRING_SLOT` PLT-slot - after AOT-file loading all such slots… 35 …then each resolution attempt will increment value inside the slot until it either get replaced wit… 36 …aches `PANDA_32BITS_HEAP_START_ADDRESS - 1` (after that invocations will not increment slot value); [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/ir/ |
| D | aot_data.cpp | 43 // Increment/decrement offset to specified slot in GetEntrypointOffset() 55 auto slot = got_plt_->find({pfile_, method_id}); in GetPltSlotOffset() local 56 if (slot != got_plt_->end()) { in GetPltSlotOffset() 57 slot_id = slot->second; in GetPltSlotOffset() 68 auto slot = got_virt_indexes_->find({pfile_, method_id}); in GetVirtIndexSlotOffset() local 69 if (slot != got_virt_indexes_->end()) { in GetVirtIndexSlotOffset() 70 slot_id = slot->second; in GetVirtIndexSlotOffset() 81 auto slot = got_class_->find({pfile_, klass_id}); in GetClassSlotOffset() local 82 if (slot != got_class_->end()) { in GetClassSlotOffset() 83 slot_id = slot->second; in GetClassSlotOffset() [all …]
|
| /arkcompiler/runtime_core/runtime/ |
| D | cframe.cpp | 34 case VRegInfo::Location::SLOT: in GetVRegValueInternal() 167 case VRegInfo::Location::SLOT: { in SetVRegValue() 235 size_t slot = 0; in Dump() local 236 DumpCalleeRegs(os, print_mem, &dscr, &slot); in Dump() 237 DumpCalleeFPRegs(os, print_mem, &dscr, &slot); in Dump() 238 DumpCallerRegs(os, print_mem, &dscr, &slot); in Dump() 239 DumpCallerFPRegs(os, print_mem, &dscr, &slot); in Dump() 240 DumpLocals(os, print_mem, &dscr, &slot, max_slot); in Dump() 246 void CFrame::DumpCalleeRegs(std::ostream &os, MemPrinter print_mem, PandaString *dscr, size_t *slot) in DumpCalleeRegs() argument 250 i >= panda::helpers::ToSigned(GetFirstCalleeReg(ARCH, false)); i--, (*slot)++) { in DumpCalleeRegs() [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/optimizations/regalloc/ |
| D | reg_alloc_base.h | 99 for (size_t slot = 0; slot < GetStackMask().GetSize(); slot++) { in GetNextStackSlotImpl() local 100 if (GetStackMask().IsSet(slot)) { in GetNextStackSlotImpl() 104 ASSERT(slot < stack_use_last_positions_.size()); in GetNextStackSlotImpl() 105 if (stack_use_last_positions_[slot] > interval->GetBegin()) { in GetNextStackSlotImpl() 109 GetStackMask().Set(slot); in GetNextStackSlotImpl() 110 stack_use_last_positions_[slot] = interval->GetEnd(); in GetNextStackSlotImpl() 111 return slot; in GetNextStackSlotImpl()
|
| /arkcompiler/ets_runtime/ecmascript/ |
| D | js_promise.cpp | 44 // 3. Set the [[Promise]] internal slot of resolve to promise. in CreateResolvingFunctions() 46 // 4. Set the [[AlreadyResolved]] internal slot of resolve to alreadyResolved. in CreateResolvingFunctions() 51 // 6. Set the [[Promise]] internal slot of reject to promise. in CreateResolvingFunctions() 53 // 7. Set the [[AlreadyResolved]] internal slot of reject to alreadyResolved. in CreateResolvingFunctions() 66 // 1. Assert: the value of promise's [[PromiseState]] internal slot is "pending". in FulfillPromise() 68 // 2. Let reactions be the value of promise's [[PromiseFulfillReactions]] internal slot. in FulfillPromise() 70 // 3. Set the value of promise's [[PromiseResult]] internal slot to value. in FulfillPromise() 72 // 4. Set the value of promise's [[PromiseFulfillReactions]] internal slot to undefined. in FulfillPromise() 74 // 5. Set the value of promise's [[PromiseRejectReactions]] internal slot to undefined. in FulfillPromise() 76 // 6. Set the value of promise's [[PromiseState]] internal slot to "fulfilled". in FulfillPromise() [all …]
|
| D | js_handle.h | 155 inline explicit JSHandle(uintptr_t slot) : address_(slot) in JSHandle() argument 158 ASSERT(slot != 0); in JSHandle() 159 T::Cast((*reinterpret_cast<JSTaggedValue *>(slot)).GetTaggedObject()); in JSHandle() 169 …inline explicit JSHandle(const JSTaggedType *slot) : address_(reinterpret_cast<uintptr_t>(slot)) {} in JSHandle() argument 170 inline explicit JSHandle(const T *const *slot) : address_(reinterpret_cast<uintptr_t>(slot)) {} in JSHandle() argument 219 inline explicit JSMutableHandle(uintptr_t slot) : JSHandle<T>(slot) in JSMutableHandle() argument
|
| D | js_typed_array.cpp | 39 // 2. Assert: O is an Object that has a [[ViewedArrayBuffer]] internal slot. in GetOwnProperty() 76 // 2. Assert: O is an Object that has a [[ViewedArrayBuffer]] internal slot. in HasProperty() 81 // i. Let buffer be the value of O’s [[ViewedArrayBuffer]] internal slot. in HasProperty() 86 // vi. If numericIndex ≥ the value of O’s [[ArrayLength]] internal slot, return false. in HasProperty() 135 // 2. Assert: O is an Object that has a [[ViewedArrayBuffer]] internal slot. in DefineOwnProperty() 149 // v. Let length be the value of O’s [[ArrayLength]] internal slot. in DefineOwnProperty() 281 // 3. Let len be the value of O’s [[ArrayLength]] internal slot. in OwnPropertyKeys() 336 // 3. Let buffer be the value of O’s [[ViewedArrayBuffer]] internal slot. in IntegerIndexedElementGet() 350 // 7. Let length be the value of O’s [[ArrayLength]] internal slot. in IntegerIndexedElementGet() 365 // 9. Let offset be the value of O’s [[ByteOffset]] internal slot. in IntegerIndexedElementGet() [all …]
|
| /arkcompiler/runtime_core/irtoc/scripts/ |
| D | resolvers.irt | 54 slot := LiveIn(:tmp0) 57 method_id := LoadI(slot).Imm("-WordSize()").ptr 67 StoreI(slot, vtable_index).Imm(0).u32 84 slot := LiveIn(:tmp0) 86 class_id := LoadI(slot).Imm("-2 * WordSize()").ptr 91 StoreI(slot, klass).Imm(0).ptr 93 StoreI(slot, klass).Imm("-WordSize()").ptr 110 slot := LiveIn(:tmp0) 112 class_id := LoadI(slot).Imm("-WordSize()").ptr 117 StoreI(slot, klass).Imm("WordSize()").ptr [all …]
|
| /arkcompiler/runtime_core/runtime/include/ |
| D | cframe.h | 230 SlotType GetValueFromSlot(int slot) const in GetValueFromSlot() argument 232 return *GetValuePtrFromSlot(slot); in GetValueFromSlot() 235 const SlotType *GetValuePtrFromSlot(int slot) const in GetValuePtrFromSlot() argument 238 return reinterpret_cast<const SlotType *>(GetStackOrigin()) - slot; in GetValuePtrFromSlot() 241 void SetValueToSlot(int slot, SlotType value) in SetValueToSlot() argument 244 *(reinterpret_cast<SlotType *>(GetStackOrigin()) - slot) = value; in SetValueToSlot() 283 T *GetPtr(ptrdiff_t slot) in GetPtr() argument 286 return reinterpret_cast<T *>(GetFrameOrigin() - slot); in GetPtr() 289 const T *GetPtr(ptrdiff_t slot) const in GetPtr() argument 292 return reinterpret_cast<const T *>(GetFrameOrigin() - slot); in GetPtr() [all …]
|
| /arkcompiler/ets_frontend/es2panda/binder/ |
| D | variable.cpp | 50 uint32_t slot = 0; in SetLexical() local 54 slot = hotfixHelper->GetSlotIdFromSymbolTable(std::string(name)); in SetLexical() 55 if (hotfixHelper->IsPatchVar(slot)) { in SetLexical() 59 slot = varScope->NextSlot(); in SetLexical() 62 BindLexEnvSlot(slot); in SetLexical() 64 varScope->AddLexicalVarNameAndType(slot, name, in SetLexical()
|
| /arkcompiler/runtime_core/libpandabase/utils/ |
| D | cframe_layout.h | 77 using StackArgSlot = StackRegion<-2, 1>; // -2 slot 78 using LrSlot = StackArgSlot::NextStackSlot; // -1 slot 79 using PrevFrameSlot = LrSlot::NextStackSlot; // 0 slot 80 using MethodSlot = PrevFrameSlot::NextStackSlot; // 1 slot 81 using FlagsSlot = MethodSlot::NextStackSlot; // 2 slot 152 // +1 for LR slot in GetFrameSize() 158 constexpr ssize_t GetOffset(ssize_t slot) const in GetOffset() argument 161 const auto OFFSET = GetFrameSize<SLOTS>() - slot - 2U; in GetOffset() 168 return slot * PointerSize(arch_); in GetOffset() 170 return slot; in GetOffset() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/builtins/ |
| D | builtins_sharedarraybuffer.cpp | 60 … // 1. If Type(arg) is not Object,and it not has an [[ArrayBufferData]] internal slot return false. in IsSharedArrayBuffer() 88 // 2. If arrayBuffer’s [[ArrayBufferData]] internal slot is null, return false. in IsShared() 116 // 6. Set obj’s [[ArrayBufferData]] internal slot to block. in AllocateSharedArrayBuffer() 118 // 7. Set obj’s [[ArrayBufferByteLength]] internal slot to byteLength. in AllocateSharedArrayBuffer() 146 // 3. If O does not have an [[ArrayBufferData]] internal slot, throw a TypeError exception. in GetByteLength() 148 THROW_TYPE_ERROR_AND_RETURN(thread, "don't have internal slot", JSTaggedValue::Exception()); in GetByteLength() 151 // 5. Let length be the value of O’s [[SharedArrayBufferByteLength]] internal slot. in GetByteLength() 173 // 3. If O does not have an [[ArrayBufferData]] internal slot, throw a TypeError exception. in Slice() 175 THROW_TYPE_ERROR_AND_RETURN(thread, "don't have internal slot", JSTaggedValue::Exception()); in Slice() 181 // 5. Let len be the value of O’s [[ArrayBufferByteLength]] internal slot. in Slice() [all …]
|
| D | builtins_dataview.cpp | 46 // 3. If buffer does not have an [[ArrayBufferData]] internal slot, throw a TypeError exception. in DataViewConstructor() 65 // 9. Let bufferByteLength be the value of buffer’s [[ArrayBufferByteLength]] internal slot. in DataViewConstructor() 95 // 15. Set O’s [[DataView]] internal slot to true. in DataViewConstructor() 97 // 16. Set O’s [[ViewedArrayBuffer]] internal slot to buffer. in DataViewConstructor() 99 // 17. Set O’s [[ByteLength]] internal slot to viewByteLength. in DataViewConstructor() 101 // 18. Set O’s [[ByteOffset]] internal slot to offset. in DataViewConstructor() 120 // 3. If O does not have a [[ViewedArrayBuffer]] internal slot, throw a TypeError exception. in GetBuffer() 125 // 4. Let buffer be the value of O’s [[ViewedArrayBuffer]] internal slot. in GetBuffer() 144 // 3. If O does not have a [[ViewedArrayBuffer]] internal slot, throw a TypeError exception. in GetByteLength() 149 // 4. Let buffer be the value of O’s [[ViewedArrayBuffer]] internal slot. in GetByteLength() [all …]
|
| D | builtins_symbol.cpp | 74 // If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. in ToString() 77 // Let sym be the value of s's [[SymbolData]] internal slot. in ToString() 138 // If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. in ValueOf() 140 // If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. in ValueOf() 145 // Return the value of s's [[SymbolData]] internal slot. in ValueOf() 219 // 4.If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. in ToPrimitive() 220 // 5.Return the value of s's [[SymbolData]] internal slot. in ToPrimitive() 222 // If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. in ToPrimitive() 225 // Let sym be the value of s's [[SymbolData]] internal slot. in ToPrimitive() 252 // If s does not have a [[SymbolData]] internal slot, throw a TypeError exception. in ThisSymbolValue() [all …]
|
| D | builtins_arraybuffer.cpp | 65 // 2. If arg has a [[ViewedArrayBuffer]] internal slot, return true. in IsView() 92 // 3. If O does not have an [[ArrayBufferData]] internal slot, throw a TypeError exception. in GetByteLength() 94 THROW_TYPE_ERROR_AND_RETURN(thread, "don't have internal slot", JSTaggedValue::Exception()); in GetByteLength() 101 // 5. Let length be the value of O’s [[ArrayBufferByteLength]] internal slot. in GetByteLength() 122 // 3. If O does not have an [[ArrayBufferData]] internal slot, throw a TypeError exception. in Slice() 124 THROW_TYPE_ERROR_AND_RETURN(thread, "don't have internal slot", JSTaggedValue::Exception()); in Slice() 130 // 5. Let len be the value of O’s [[ArrayBufferByteLength]] internal slot. in Slice() 181 // 17. If new does not have an [[ArrayBufferData]] internal slot, throw a TypeError exception. in Slice() 183 …THROW_TYPE_ERROR_AND_RETURN(thread, "don't have bufferdata internal slot", JSTaggedValue::Exceptio… in Slice() 194 …// 20. If the value of new’s [[ArrayBufferByteLength]] internal slot < newLen, throw a TypeError e… in Slice() [all …]
|
| /arkcompiler/ets_frontend/es2panda/util/ |
| D | bitset.cpp | 56 size_t slot = pos & shiftMask; in Set() local 59 data_[idx] |= 1U << slot; in Set() 61 data_[idx] &= ~(1U << slot); in Set() 69 size_t slot = pos & shiftMask; in Test() local 71 return (data_[idx] & (1U << slot)) != 0; in Test()
|
| /arkcompiler/ets_frontend/es2panda/compiler/templates/ |
| D | isa.h.erb | 245 ICSlot SetIcSlot(IcSizeType slot) override 255 if (slot <= 0xFF) { 256 if ((slot + <%= ret %>) > 0xFF) { 258 return <%= ret %> + (0x100 - slot); 261 <%= op_map['imm'][0] %> = slot; 265 if (slot > 0xFF && slot <= 0xFFFF) { 266 <%= op_map['imm'][0] %> = slot; 274 if (slot < 0xFF) { 275 if ((slot + <%= ret %>) > 0xFF) { 280 <%= op_map['imm'][0] %> = slot;
|
| /arkcompiler/runtime_core/runtime/mem/ |
| D | runslots.cpp | 32 …ASSERT_PRINT((slot_size >= SlotToSize(SlotsSizes::SLOT_MIN_SIZE_BYTES)), "Size of slot in RunSlots… in Initialize() 33 …ASSERT_PRINT((slot_size <= SlotToSize(SlotsSizes::SLOT_MAX_SIZE_BYTES)), "Size of slot in RunSlots… in Initialize() 52 LOG_RUNSLOTS(DEBUG) << "- First free slot = " << std::hex << static_cast<void *>(next_free_); in Initialize() 53 LOG_RUNSLOTS(DEBUG) << "- First uninitialized slot offset = " << std::hex in Initialize() 68 LOG_RUNSLOTS(DEBUG) << "Failed to get free slot - there are no free slots in RunSlots"; in PopFreeSlot() 81 … LOG_RUNSLOTS(DEBUG) << "Successfully get free slot " << std::hex << static_cast<void *>(free_slot) in PopFreeSlot() 91 …LOG_RUNSLOTS(DEBUG) << "Free slot in RunSlots at addr " << std::hex << static_cast<void *>(mem_slo… in PushFreeSlot()
|
| /arkcompiler/ets_runtime/ecmascript/snapshot/mem/ |
| D | snapshot_env.cpp | 68 for (ObjectSlot slot = start; slot < end; slot++) { in HandleObjectField() local 69 auto fieldAddr = reinterpret_cast<JSTaggedType *>(slot.SlotAddress()); in HandleObjectField()
|