| /arkcompiler/runtime_core/runtime/include/ |
| D | thread.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 33 #include "runtime/include/object_header-inl.h" 39 #include "runtime/mem/frame_allocator-inl.h" 85 LockedObjectInfo(ObjectHeader *obj, void *fp) : object(obj), stack(fp) {} in LockedObjectInfo() 91 inline void SetObject(ObjectHeader *obj_new) in SetObject() 96 inline void *GetStack() const in GetStack() 101 inline void SetStack(void *stack_new) in SetStack() 118 void *stack; 139 void push_back(LockedObjectInfo data) in push_back() [all …]
|
| D | gc_task.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 32 * Causes are ordered by priority. Bigger index - means bigger priority in GC 59 this->reason_ = reason; in GCTask() 60 this->target_time_ = target_time; in GCTask() 61 this->caller_thread_ = caller_thread; in GCTask() 62 this->collection_type_ = GCCollectionType::NONE; in GCTask() 69 void UpdateGCCollectionType(GCCollectionType collection_type); 76 // NOLINTNEXTLINE(google-runtime-references) 77 virtual void Run(mem::GC &gc); [all …]
|
| D | locks.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 29 void ReadLock() ACQUIRE_SHARED(); 31 void WriteLock() ACQUIRE(); 37 void Unlock() RELEASE_GENERIC(); 47 static void Initialize(); 50 …* Lock used for preventing object heap modifications (for example at GC<->JIT,ManagedCode interact… 52 static MutatorLock *mutator_lock; // NOLINT(misc-non-private-member-variables-in-classes) 56 …static os::memory::Mutex *custom_tls_lock; // NOLINT(misc-non-private-member-variables-in-classes)
|
| D | vtable_builder.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 21 #include "libpandafile/class_data_accessor-inl.h" 22 #include "libpandafile/file-inl.h" 24 #include "libpandafile/proto_data_accessor-inl.h" 25 #include "runtime/include/class-inl.h" 44 name_(pf_->GetStringData(mda.GetNameId())), in MethodInfo() 53 pf_(method->GetPandaFile()), in method_() 54 class_id_(method->GetClass()->GetFileId()), in method_() 55 access_flags_(method->GetAccessFlags()), in method_() [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/ir_builder/ |
| D | ir_builder.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 46 …ries boundaries {}; // NOLINT(misc-non-private-member-variables-in-class… 47 …lock *begin_bb {nullptr}; // NOLINT(misc-non-private-member-variables-in-class… 48 …lock *end_bb {nullptr}; // NOLINT(misc-non-private-member-variables-in-class… 49 …ector<CatchCodeBlock> *catches {nullptr}; // NOLINT(misc-non-private-member-variables-in-class… 50 …ector<BasicBlock *> *basic_blocks {nullptr}; // NOLINT(misc-non-private-member-variables-in-class… 51 …_t id {INVALID_ID}; // NOLINT(misc-non-private-member-variables-in-class… 52 …ontains_throwable_inst {false}; // NOLINT(misc-non-private-member-variables-in-class… 54 void Init(Graph *graph, uint32_t try_id) in Init() [all …]
|
| /arkcompiler/runtime_core/runtime/mem/gc/ |
| D | gc_trigger.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 41 NO_GC_FOR_START_UP, // A non-production strategy, TRIGGER GC after the app starts up 44 …DEBUG_NEVER, // Trigger for testing which never triggers (young-gc can still trigger),… 115 virtual void SetMinTargetFootprint([[maybe_unused]] size_t heap_size) {} in SetMinTargetFootprint() 116 virtual void RestoreMinTargetFootprint() {} in RestoreMinTargetFootprint() 119 HeapSpace *heap_space_ {nullptr}; // NOLINT(misc-non-private-member-variables-in-classes) 136 void GCStarted(size_t heap_size) override; 137 void GCFinished(const GCTask &task, size_t heap_size_before_gc, size_t heap_size) override; 138 void SetMinTargetFootprint(size_t target_size) override; [all …]
|
| D | gc.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 77 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 78 #define LOG_DEBUG_GC LOG(DEBUG, GC) << this->GetLogPrefix() 79 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 80 #define LOG_INFO_GC LOG(INFO, GC) << this->GetLogPrefix() 81 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) 112 virtual void GCStarted([[maybe_unused]] size_t heap_size) {} in GCStarted() 113 …virtual void GCFinished([[maybe_unused]] const GCTask &task, [[maybe_unused]] size_t heap_size_bef… in GCFinished() 117 virtual void GCPhaseStarted([[maybe_unused]] GCPhase phase) {} in GCPhaseStarted() [all …]
|
| /arkcompiler/runtime_core/runtime/ |
| D | string_table.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 51 using StringVisitor = std::function<void(ObjectHeader *)>; 53 …void VisitRoots(const StringVisitor &visitor, mem::VisitGCRootFlags flags = mem::VisitGCRootFlags:… 58 void VisitStrings(const StringVisitor &visitor) in VisitStrings() 63 virtual void Sweep(const GCObjectVisitor &gc_object_visitor); 72 explicit Table(mem::InternalAllocatorPtr allocator) : table_(allocator->Adapter()) {} in Table() 81 virtual void Sweep(const GCObjectVisitor &gc_object_visitor); 85 void VisitStrings(const StringVisitor &visitor); 95 void ForceInternString(coretypes::String *string, const LanguageContext &ctx); [all …]
|
| /arkcompiler/runtime_core/runtime/bridge/ |
| D | bridge.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 31 int64_t value; // NOLINT(misc-non-private-member-variables-in-classes) 32 int64_t tag; // NOLINT(misc-non-private-member-variables-in-classes) 44 extern "C" void InterpreterToCompiledCodeBridge(const uint8_t *, const Frame *, const Method *, Man… 45 extern "C" void InterpreterToCompiledCodeBridgeDyn(const uint8_t *, const Frame *, const Method *, … 53 const void *GetCompiledCodeToInterpreterBridge(const Method *method); 55 const void *GetCompiledCodeToInterpreterBridge(); 57 const void *GetCompiledCodeToInterpreterBridgeDyn(); 59 const void *GetAbstractMethodStub(); [all …]
|
| /arkcompiler/runtime_core/libpandabase/os/ |
| D | stacktrace.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 34 // NOLINTNEXTLINE(modernize-pass-by-value) 42 uintptr_t start_addr; // NOLINT(misc-non-private-member-variables-in-classes) 43 uintptr_t end_addr; // NOLINT(misc-non-private-member-variables-in-classes) 44 uintptr_t offset; // NOLINT(misc-non-private-member-variables-in-classes) 45 std::string filename; // NOLINT(misc-non-private-member-variables-in-classes) 46 DebugInfoStatus status {NOT_READ}; // NOLINT(misc-non-private-member-variables-in-classes) 47 DebugInfo debug_info; // NOLINT(misc-non-private-member-variables-in-classes) 55 // NOLINTNEXTLINE(modernize-pass-by-value) [all …]
|
| D | thread.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 45 void NativeSleep(unsigned int ms); 46 void ThreadDetach(native_handle_type pthread_handle); 47 void ThreadExit(void *ret); 48 void ThreadJoin(native_handle_type pthread_handle, void **ret); 49 void ThreadSendSignal(native_handle_type pthread_handle, int sig); 50 void ThreadYield(); 66 SharedPtrToSharedPtrStruct<T> this_ptr; // NOLINT(misc-non-private-member-variables-in-classes) 67 T data; // NOLINT(misc-non-private-member-variables-in-classes) [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/optimizations/regalloc/ |
| D | reg_alloc_graph_coloring.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 34 : regular(allocator->Adapter()), physical(allocator->Adapter()) in WorkingRanges() 38 InstructionsRanges regular; // NOLINT(misc-non-private-member-variables-in-classes) 39 InstructionsRanges physical; // NOLINT(misc-non-private-member-variables-in-classes) 63 void InitWorkingRanges(WorkingRanges *general_ranges, WorkingRanges *fp_ranges); 64 void BuildIG(InterferenceGraph *ig, WorkingRanges *ranges); 66 void BuildBias(InterferenceGraph *ig, const IndexVector &affinity_nodes); 67 void AddAffinityEdges(InterferenceGraph *ig, ColorNode *node, IndexVector *affinity_nodes); 68 …void AddAffinityEdgeToSibling(InterferenceGraph *ig, ColorNode *node, IndexVector *affinity_nodes); [all …]
|
| /arkcompiler/runtime_core/runtime/arch/ |
| D | helpers.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 49 static constexpr size_t NUM_FP_ARG_REGS = 16; /* s0 - s15 */ 129 …NE typename std::enable_if_t<std::is_floating_point_v<T> && ExtArchTraits<A>::HARDFP, void> Count() 142 …typename std::enable_if_t<!(std::is_floating_point_v<T> && ExtArchTraits<A>::HARDFP), void> Count() 199 stack_args_ += READ_BYTES; // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic) 216 stack_args_ += READ_BYTES; // NOLINT(cppcoreguidelines-pro-bounds-pointer-arithmetic) 244 …E typename std::enable_if_t<std::is_integral_v<T> && sizeof(T) < ArchTraits<A>::POINTER_SIZE, void> 247 … *reinterpret_cast<ExtArchTraitsWorldType<A, T> *>(gpr_args_->data() + gp_arg_bytes_written_) = v; 251 …ypename std::enable_if_t<!(std::is_integral_v<T> && sizeof(T) < ArchTraits<A>::POINTER_SIZE), void> [all …]
|
| /arkcompiler/ets_runtime/ecmascript/mem/ |
| D | gc_stats.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 22 void GCStats::PrintStatisticResult(bool force) in PrintStatisticResult() 31 void GCStats::PrintSemiStatisticResult(bool force) in PrintSemiStatisticResult() 51 void GCStats::PrintPartialStatisticResult(bool force) in PrintPartialStatisticResult() 55 …LOG_GC(INFO) << " PartialGC with non-concurrent mark statistic: total old gc count " << partialGCC… in PrintPartialStatisticResult() 95 void GCStats::PrintCompressStatisticResult(bool force) in PrintCompressStatisticResult() 113 … << 1 - float(compressYoungAndOldAliveSize_) / (compressYoungCommitSize_ + compressOldCommitSize_) in PrintCompressStatisticResult() 114 << " non move total free size: " << sizeToMB(compressNonMoveTotalFreeSize_) << "MB" in PrintCompressStatisticResult() 115 << " non move total commit size: " << sizeToMB(compressNonMoveTotalCommitSize_) << "MB" in PrintCompressStatisticResult() 116 …<< " non move free rate: " << float(compressNonMoveTotalFreeSize_) / compressNonMoveTotalCommitSiz… in PrintCompressStatisticResult() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/ |
| D | js_date_time_format.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 62 std::string property; // NOLINT(misc-non-private-member-variables-in-classes) 63 std::vector<IcuPatternEntry> pairs; // NOLINT(misc-non-private-member-variables-in-classes) 64 …ap<const std::string, const std::string> map; // NOLINT(misc-non-private-member-variables-in-class… 65 std::vector<std::string> allowedValues; // NOLINT(misc-non-private-member-variables-in-classes) 68 // NOLINT(performance-noexcept-move-constructor, hicpp-noexcept-move) 75 … IcuPatternDesc("hour", {{data1, "2-digit"}, {data2, "numeric"}}, {"2-digit", "numeric"}))) {} in Pattern() 116 static void SetIcuLocale(JSThread *thread, JSHandle<JSDateTimeFormat> obj, 118 static void FreeIcuLocale(void *pointer, void *data); 121 static void SetIcuSimpleDateFormat(JSThread *thread, JSHandle<JSDateTimeFormat> obj, [all …]
|
| D | js_map.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 23 void JSMap::Set(JSThread *thread, const JSHandle<JSMap> &map, const JSHandle<JSTaggedValue> &key, in Set() 29 …JSHandle<LinkedHashMap> mapHandle(thread, LinkedHashMap::Cast(map->GetLinkedMap().GetTaggedObject(… in Set() 32 map->SetLinkedMap(thread, newMap); in Set() 37 …JSHandle<LinkedHashMap> mapHandle(thread, LinkedHashMap::Cast(map->GetLinkedMap().GetTaggedObject(… in Delete() 38 int entry = mapHandle->FindElement(key.GetTaggedValue()); in Delete() 39 if (entry == -1) { in Delete() 42 mapHandle->RemoveEntry(thread, entry); in Delete() 46 void JSMap::Clear(const JSThread *thread, const JSHandle<JSMap> &map) in Clear() 48 LinkedHashMap *linkedMap = LinkedHashMap::Cast(map->GetLinkedMap().GetTaggedObject()); in Clear() [all …]
|
| /arkcompiler/runtime_core/libpandafile/ |
| D | file_reader.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 62 void ComputeLayoutAndUpdateIndices(); 86 void UpdateDebugInfoDependecies(File::EntityId debug_info_id); 87 void UpdateDebugInfo(DebugInfoItem *debug_info_item, File::EntityId debug_info_id); 90 void SetIntegerFieldValue(FieldDataAccessor *field_acc, FieldItem *field_item) in SetIntegerFieldValue() 92 auto value = field_acc->GetValue<T>(); in SetIntegerFieldValue() 98 // NOLINTNEXTLINE(readability-braces-around-statements) in SetIntegerFieldValue() 101 field_item->SetValue(value_item); in SetIntegerFieldValue() 102 // NOLINTNEXTLINE(readability-misleading-indentation) in SetIntegerFieldValue() [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/code_generator/ |
| D | callconv.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 19 Codegen Hi-Level calling-convention interface 23 Branches and jump-encoding 40 // Get next native parameter, on condition, what previous list - in vector 47 void Reset() in Reset() 58 uint32_t current_scalar_number_ {0}; // NOLINT(misc-non-private-member-variables-in-classes) 59 uint32_t current_vector_number_ {0}; // NOLINT(misc-non-private-member-variables-in-classes) 60 uint8_t current_stack_offset_ {0}; // NOLINT(misc-non-private-member-variables-in-classes) 78 // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) [all …]
|
| /arkcompiler/runtime_core/runtime/mem/ |
| D | region_allocator.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 36 using RegionsVisitor = std::function<void(PandaVector<Region *> &vector)>; 56 static inline Region *AddrToRegion(const void *addr) in AddrToRegion() 59 auto space = mem_pool->GetSpaceTypeForAddr(addr); in AddrToRegion() 61 …ASSERT(PoolManager::GetMmapMemPool()->GetSpaceTypeForAddr(addr) == SpaceType::SPACE_TYPE_HUMONGOUS… in AddrToRegion() 102 void ClearRegionsPool() in ClearRegionsPool() 106 spaces_->FreeSharedPool(init_block_.GetMem(), init_block_.GetSize()); in ClearRegionsPool() 125 // NOLINTNEXTLINE(misc-non-private-member-variables-in-classes) 127 // NOLINTNEXTLINE(misc-non-private-member-variables-in-classes) [all …]
|
| D | heap_space.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 39 // --------+ 40 // +------+ +-----------+ +------------+ | 41 // | GC | <----+ | Runtime | ... | Compiler | | 42 // +------+ | +-----------+ | +------------+ | 43 // | | +---+ | | 44 // +-----+ | | +---------+ | Standard flow for object allocation 47 // +-------------------+ | 49 // +-------------------+ --------+ [all …]
|
| /arkcompiler/runtime_core/runtime/include/mem/ |
| D | allocator.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 25 #include "runtime/mem/bump-allocator.h" 102 [[nodiscard]] void *Alloc(size_t size, Alignment align = DEFAULT_ALIGNMENT) 107 [[nodiscard]] void *AllocLocal(size_t size, Alignment align = DEFAULT_ALIGNMENT) 112 [[nodiscard]] virtual void *Allocate(size_t size, Alignment align, 115 [[nodiscard]] virtual void *AllocateLocal(size_t size, Alignment align, 118 …[[nodiscard]] virtual void *AllocateNonMovable(size_t size, Alignment align, panda::ManagedThread … 123 return static_cast<T *>(this->Allocate(sizeof(T) * size, GetAlignment<T>(), nullptr)); in AllocArray() 129 return static_cast<T *>(this->AllocateLocal(sizeof(T) * size, GetAlignment<T>(), nullptr)); in AllocArrayLocal() [all …]
|
| /arkcompiler/runtime_core/verification/ |
| D | verification.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 23 … protected_method: Call to protected methods from non-descendants of object class is prohibited. 24 protected_class: Access to package-private class is prohibited. 25 package_method: Call to protected methods from non-descendants of object class is prohibited. 31 sign: Sign mismatch. Possible overflow/underflow issues and other quirks in data-flow. 34 … precision: Precision mismatch. Possible overflow/underflow issues and other quirks in data-flow. 40 - same 41 - descendant 42 - neighbour [all …]
|
| /arkcompiler/runtime_core/runtime/mem/gc/g1/ |
| D | g1-allocator.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 21 #include "runtime/mem/region_allocator-inl.h" 22 #include "runtime/mem/gc/g1/g1-allocator_constants.h" 52 … void *Allocate(size_t size, Alignment align, [[maybe_unused]] panda::ManagedThread *thread) final; 54 …void *AllocateNonMovable(size_t size, Alignment align, [[maybe_unused]] panda::ManagedThread *thre… 56 void VisitAndRemoveAllPools(const MemVisitor &mem_visitor) final; 58 void VisitAndRemoveFreePools(const MemVisitor &mem_visitor) final; 60 void IterateOverYoungObjects(const ObjectVisitor &object_visitor) final; 69 * Returns a vector which contains non-movable and humongous regions [all …]
|
| /arkcompiler/ets_runtime/ecmascript/base/ |
| D | bit_helper.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 32 inline T ReadBuffer(void **buffer) in ReadBuffer() 35 *buffer = reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(*buffer) + result.offset_); in ReadBuffer() 39 inline char *ReadBuffer(void **buffer) in ReadBuffer() 42 *buffer = reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(*buffer) + strlen(result) + 1); in ReadBuffer() 47 inline T *ReadBufferInSize(void **buffer) in ReadBufferInSize() 50 *buffer = reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(*buffer) + result->Size()); in ReadBufferInSize() 69 return __builtin_clz(static_cast<uint32_t>(value)) - (32 - std::numeric_limits<T>::digits); in CountLeadingZeros() 129 /// isMask_64 - This function returns true if the argument is a non-empty 137 /// isShiftedMask_64 - This function returns true if the argument contains a [all …]
|
| /arkcompiler/runtime_core/libpandabase/ |
| D | README.md | 7 pandargs is header-only utility tool that helps to parse command line arguments. It supports severa… 8 - integer 9 - double 10 - boolean 11 - string 12 - uint32_t 13 - uint64_t 14 - list 15 - compound 35 // argument name | argument description | sub-arguments [all …]
|