| /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() 88 return object; in GetObject() 93 object = obj_new; in SetObject() 108 return MEMBER_OFFSET(LockedObjectInfo, object); in GetMonitorOffset() 117 ObjectHeader *object; 149 // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic) in emplace_back() [all …]
|
| D | locks.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 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)
|
| /arkcompiler/runtime_core/tests/cts-assembly/ |
| D | obj-18.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 14 # Compare a non-null object against another non-null object of the same type
|
| D | obj-16.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 14 # Compare a non-null object against a null object
|
| /arkcompiler/runtime_core/libpandabase/mem/ |
| D | space.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 28 SPACE_TYPE_OBJECT, // Space for objects (all non-humongous sizes) 30 SPACE_TYPE_NON_MOVABLE_OBJECT, // Space for non-movable objects 55 return "ark-Undefined Space"; in SpaceTypeToString() 57 return "ark-Object Space"; in SpaceTypeToString() 59 return "ark-Humongous Object Space"; in SpaceTypeToString() 61 return "ark-Non Movable Space"; in SpaceTypeToString() 63 return "ark-Internal Space"; in SpaceTypeToString() 65 return "ark-Code Space"; in SpaceTypeToString() [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 39 * Return the region which corresponds to the start of the object. 41 static inline Region *ObjectToRegion(const ObjectHeader *object) in ObjectToRegion() argument 43 auto *region = reinterpret_cast<Region *>(((ToUintPtr(object)) & ~DEFAULT_REGION_MASK)); in ObjectToRegion() 44 // Getting region by object is a bit operation and TSAN doesn't in ObjectToRegion() 59 auto space = mem_pool->GetSpaceTypeForAddr(addr); in AddrToRegion() 61 …ASSERT(PoolManager::GetMmapMemPool()->GetSpaceTypeForAddr(addr) == SpaceType::SPACE_TYPE_HUMONGOUS… in AddrToRegion() 84 Region *GetRegion(const ObjectHeader *object) const in GetRegion() argument 86 return region_space_.GetRegion(object); in GetRegion() [all …]
|
| D | heap_space.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 38 // Object allocation flow: 39 // --------+ 40 // +------+ +-----------+ +------------+ | 41 // | GC | <----+ | Runtime | ... | Compiler | | 42 // +------+ | +-----------+ | +------------+ | 43 // | | +---+ | | 44 // +-----+ | | +---------+ | Standard flow for object allocation 47 // +-------------------+ | [all …]
|
| /arkcompiler/runtime_core/docs/ |
| D | memory-management-SW-requirements.md | 20 - Bump pointer allocator 21 - Arena Allocator (objects can be deallocated at once(list of arenas, almost at once - O(number of … 22 - Freelist allocator 23 - TLAB 24 - Run of slots allocator 25 - Code allocator 29 - Code space (executable) 30 - Compiler Internal Space(linked list of arenas) 31 - Internal memory space for non-compiler part of runtime (including GC internals) 32 - Object space [all …]
|
| D | glossary.md | 11 * **AOT** stands for **Ahead-Of-Time**. In compilers, terms "ahead-of-time compilation" and "AOT 15 See https://en.wikipedia.org/wiki/Ahead-of-time_compilation. 24 * **JIT** stands for **Just-In-Time**. In compilers, terms "just-in-time compilation" and "JIT 28 See https://en.wikipedia.org/wiki/Just-in-time_compilation. 31 * **Panda Assembly Language** is a low-level programming language retaining very strong 36 * **Panda Bytecode** or **PBC** is a portable hardware-independent instruction set designed for 50 * **Conservative GC** or non-precise GC works with ambiguous references, 51 i.e. it treats anything inside object boundaries like a reference. Opposite term: **Precise GC**. 64 … references on the stack are mapped (i.e., it is known when we have an object on the stack or not). 68 * **Precise GC** deals only with exact/sure references, i.e. it knows object layout and can [all …]
|
| /arkcompiler/runtime_core/docs/diagrams/ |
| D | gc-mark.puactivity | 1 ' Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 ' http://www.apache.org/licenses/LICENSE-2.0 22 :Get an object from the stack; 23 if (object is in collected space) then(Yes) 24 if (The object is a Reference object in the same generation space with reference) then(Yes) 25 if (the referent object is marked) then(Yes) 27 :Put the object into the corresponding queue; 31 :Mark all fields in object; 37 mark object == mark object and add all non-primitive fields to the Mark Stack 38 …mark all fields in object == mark all directly referenced objects and add their un-marked fields t…
|
| /arkcompiler/runtime_core/runtime/mem/gc/ |
| 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) 164 * Note: for non-mt STW GC can be used to run GC 181 * Initialize GC bits on object creation. 187 * Initialize GC bits on object creation for the TLAB allocation. [all …]
|
| /arkcompiler/ets_frontend/test262/ |
| D | CI_tests.txt | 1 built-ins/Error/length.js 2 built-ins/Error/message_property.js 3 built-ins/Error/prototype/S15.11.3.1_A1_T1.js 4 built-ins/Error/prototype/S15.11.3.1_A3_T1.js 5 built-ins/Error/prototype/S15.11.4_A3.js 6 built-ins/Error/prototype/constructor/S15.11.4.1_A1_T2.js 7 built-ins/Error/prototype/message/S15.11.4.3_A2.js 8 built-ins/Error/prototype/name/S15.11.4.2_A1.js 9 built-ins/Error/prototype/toString/15.11.4.4-10-1.js 10 built-ins/Error/prototype/toString/15.11.4.4-6-1.js [all …]
|
| D | es2015_tests.txt | 1 built-ins/Array/15.4.5.1-5-1.js 2 built-ins/Array/15.4.5.1-5-2.js 3 built-ins/Array/15.4.5-1.js 4 built-ins/Array/constructor.js 5 built-ins/Array/from/Array.from_arity.js 6 built-ins/Array/from/Array.from_forwards-length-for-array-likes.js 7 built-ins/Array/from/Array.from-descriptor.js 8 built-ins/Array/from/Array.from-name.js 9 built-ins/Array/from/calling-from-valid-1-noStrict.js 10 built-ins/Array/from/calling-from-valid-1-onlyStrict.js [all …]
|
| /arkcompiler/runtime_core/tests/verifier-tests/ |
| D | access_field_nomodifier_core.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 14 # access to non-public field of a foreign class: 15 # - it must fail in Java if the class is nor inherited by current class, nor stays in the same pack… 16 # - in non-Java language context it is OK 22 # // Expected VerificationError: Access to the package protected object field is prohibited. 52 ldstatic pckg.Test2.value # access to non-public field of a foreign class
|
| D | bug_2086_1.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 #- title: Get field from object 18 # description: 'Get field value from an object by field id and put it into accumulator. 22 # - sig: ldobj.64 v:in:ref, field_id 25 # - op_v_8_id_32 27 # - field_id_non_static 29 ## runner-option: verifier-failure 30 ## runner-option: bugid: 1324, 1828 [all …]
|
| D | bug_2086_2.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 #- title: Get field from object 18 # description: 'Get field value from an object by field id and put it into accumulator. 22 # - sig: ldobj.64 v:in:ref, field_id 25 # - op_v_8_id_32 27 # - field_id_non_static 29 ## runner-option: verifier-failure 30 ## runner-option: bugid: 1833 [all …]
|
| /arkcompiler/ets_frontend/ |
| D | LICENSE | 31 "Object" form shall mean any form resulting from mechanical 33 not limited to compiled object code, generated documentation, 37 Object form, made available under the License, as indicated by a 41 "Derivative Works" shall mean any work, whether in Source or Object 69 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 72 Work and such Derivative Works in Source or Object form. 76 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 84 cross-claim or counterclaim in a lawsuit) alleging that the Work 92 modifications, and in Source or Object form, provided that You 116 wherever such third-party notices normally appear. The contents [all …]
|
| /arkcompiler/ets_runtime/ |
| D | LICENSE | 31 "Object" form shall mean any form resulting from mechanical 33 not limited to compiled object code, generated documentation, 37 Object form, made available under the License, as indicated by a 41 "Derivative Works" shall mean any work, whether in Source or Object 69 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 72 Work and such Derivative Works in Source or Object form. 76 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 84 cross-claim or counterclaim in a lawsuit) alleging that the Work 92 modifications, and in Source or Object form, provided that You 116 wherever such third-party notices normally appear. The contents [all …]
|
| /arkcompiler/toolchain/ |
| D | LICENSE | 31 "Object" form shall mean any form resulting from mechanical 33 not limited to compiled object code, generated documentation, 37 Object form, made available under the License, as indicated by a 41 "Derivative Works" shall mean any work, whether in Source or Object 69 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 72 Work and such Derivative Works in Source or Object form. 76 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 84 cross-claim or counterclaim in a lawsuit) alleging that the Work 92 modifications, and in Source or Object form, provided that You 116 wherever such third-party notices normally appear. The contents [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 19 private_field: Access to the private object field is prohibited. 20 protected_field: Access to the protected object field is prohibited. 21 package_field: Access to the package protected object field is prohibited. 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. [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" 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() 138 // NOLINTNEXTLINE(readability-braces-around-statements,bugprone-suspicious-semicolon) in Delete() 140 ptr->~T(); in Delete() 153 void *p = ToVoidPtr(ToUintPtr(data) - SIZE_BEFORE_DATA_OFFSET); in DeleteArray() 155 // NOLINTNEXTLINE(readability-braces-around-statements, bugprone-suspicious-semicolon) in DeleteArray() 158 data->~T(); in DeleteArray() [all …]
|
| /arkcompiler/runtime_core/ |
| D | LICENSE | 31 "Object" form shall mean any form resulting from mechanical 33 not limited to compiled object code, generated documentation, 37 Object form, made available under the License, as indicated by a 41 "Derivative Works" shall mean any work, whether in Source or Object 69 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 72 Work and such Derivative Works in Source or Object form. 76 worldwide, non-exclusive, no-charge, royalty-free, irrevocable 84 cross-claim or counterclaim in a lawsuit) alleging that the Work 92 modifications, and in Source or Object form, provided that You 116 wherever such third-party notices normally appear. The contents [all …]
|
| /arkcompiler/ets_runtime/ecmascript/mem/ |
| D | gc_stats.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 55 …LOG_GC(INFO) << " PartialGC with non-concurrent mark statistic: total old gc count " << partialGCC… in PrintPartialStatisticResult() 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() 123 NativeAreaAllocator *nativeAreaAllocator = heap_->GetNativeAreaAllocator(); in PrintHeapStatisticResult() 124 HeapRegionAllocator *heapRegionAllocator = heap_->GetHeapRegionAllocator(); in PrintHeapStatisticResult() 126 … LOG_GC(INFO) << " Anno memory usage size: " << sizeToMB(heapRegionAllocator->GetAnnoMemoryUsage()) in PrintHeapStatisticResult() 128 … << " anno memory max usage size: " << sizeToMB(heapRegionAllocator->GetMaxAnnoMemoryUsage()) in PrintHeapStatisticResult() [all …]
|
| /arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
| D | ldobj.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 15 - name: pandasm_header 19 .record panda.Object <external> 42 panda.Object fObj 43 panda.Object[] fObjArray 49 - name: PandaAssembly_header 53 .record panda.Object <external> 73 panda.Object fObj 74 panda.Object[] fObjArray [all …]
|
| /arkcompiler/ets_runtime/ecmascript/js_api/ |
| D | js_api_tree_set.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 20 #include "ecmascript/js_tagged_value-inl.h" 24 * Provide the object of non ECMA standard jsapi container. 29 static JSAPITreeSet *Cast(TaggedObject *object) in Cast() argument 31 return static_cast<JSAPITreeSet *>(object); in Cast()
|