| /arkcompiler/ets_runtime/ecmascript/ |
| D | ecma_string_table.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 18 #include "ecmascript/ecma_string-inl.h" 32 auto range = table_.equal_range(hashCode); in GetString() local 33 auto item = range.first; in GetString() 34 for (; item != range.second; ++item) { in GetString() 35 auto foundString = item->second; in GetString() 46 auto range = table_.equal_range(hashCode); in GetString() local 47 auto item = range.first; in GetString() 48 for (; item != range.second; ++item) { in GetString() 49 auto foundString = item->second; in GetString() [all …]
|
| /arkcompiler/runtime_core/tests/cts-coverage-tool/config/ |
| D | non_testable.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 16 - title: Conversions between integer and floating point types 17 description: Conversion from floating-point types to integer one obeys the following 20 - title: Load accumulator from string constant pool 21 description: In dynamically-typed language context load string as 'any' value. 23 - title: Static call 24 description: In dynamically-typed language context accept 'any' values in source 27 - title: Create and initialize new constant array [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/analysis/ |
| D | bounds_analysis.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 56 bool BoundsRange::IsEqual(const BoundsRange &range) const in IsEqual() 58 return left_ == range.GetLeft() && right_ == range.GetRight(); in IsEqual() 61 bool BoundsRange::IsLess(const BoundsRange &range) const in IsLess() 63 return right_ < range.GetLeft(); in IsLess() 71 bool BoundsRange::IsMore(const BoundsRange &range) const in IsMore() 73 return left_ > range.GetRight(); in IsMore() 76 bool BoundsRange::IsMoreOrEqual(const BoundsRange &range) const in IsMoreOrEqual() 78 return left_ >= range.GetRight(); in IsMoreOrEqual() [all …]
|
| /arkcompiler/runtime_core/docs/ |
| 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, 62 * **Safepoint** is a range of execution where the state of the executing thread is well described. 70 * **Semi-space compaction** is a compaction algorithm when memory is split to the two equal spaces 73 * **STW** stands for **stop the world**, used in context of stop the world pauses forced by GC - [all …]
|
| D | design-of-interpreter.md | 10 | ------------------------------- | ---------------------------------------------------------- | 23 1. The platform should scale from microcontrollers to hi-end mobile phones: 40 1. Bytecode is register-based: all arguments and variables are mapped to virtual registers, 44 1. Bytecode's instruction set architecture is machine-readable with a dedicated API for 49 For the rationale on the bytecode type, please see [here](rationale-for-bytecode.md). 51 Rationale on the machine-readable instruction set architecture is following. Since bytecode 53 the platform outside the interpreter. Having this crucial information copy-pasted or delivered as 54 a bunch of C/C++ headers is very fragile and error-prone. At the same time, 55 with the machine-readable ISA we can re-use this information in many places already now, e.g.: 57 * In Panda Assembler's back-end, we automatically generate emission of bytecode in the binary form. [all …]
|
| /arkcompiler/ets_frontend/test262/ |
| 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 …]
|
| D | skip_tests.json | 5 "built-ins/Promise/all/species-get-error.js", 6 "built-ins/Promise/race/species-get-error.js", 7 "language/global-code/decl-lex.js" 13 "built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-custom.js", 14 "built-ins/Promise/allSettled/invoke-resolve-on-promises-every-iteration-of-promise.js", 15 "built-ins/Promise/allSettled/invoke-resolve-on-values-every-iteration-of-promise.js", 16 "built-ins/Promise/allSettled/reject-element-function-name.js", 17 "built-ins/Promise/allSettled/resolve-element-function-name.js", 18 "built-ins/Promise/any/invoke-resolve.js", 19 "built-ins/Promise/any/invoke-resolve-get-once-multiple-calls.js", [all …]
|
| /arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
| D | call.virt.range.negative.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 15 - name: PandaAssembly 18 - name: r_A 25 - name: r_B 34 - file-name: call.virt.range.negative 37 - sig: call.virt.range method_id, v:in:top 48 …constant-pool based on object reference using language-specific semantics (currently only PandaAss… 52 Non-range instructions can be used to pass up to 4 arguments (including object reference). [all …]
|
| D | call.virt.range.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 15 - name: PandaAssembly 18 - name: R_xorshift32 52 - file-name: call.virt.range 55 - sig: call.virt.range method_id, v:in:top 66 …constant-pool based on object reference using language-specific semantics (currently only PandaAss… 70 Non-range instructions can be used to pass up to 4 arguments (including object reference). 73 For methods with more arguments range kinds of instruction are to be used, which takes [all …]
|
| D | call.virt.range_base.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 15 - name: PandaAssembly 18 - name: r_A 25 - name: NPE 28 - name: j_NPE 31 - name: AME 35 - name: j_AME 40 - file-name: call.virt.range_base [all …]
|
| D | call.range.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 15 - name: PandaAssembly 20 - file-name: call.range 30 runtime constant-pool. 32 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will 34 …For methods with more arguments range kind of instruction is to be used, which takes the needed nu… 37 - method_id_static 38 - compatible_arguments [all …]
|
| /arkcompiler/runtime_core/runtime/mem/gc/ |
| D | gc_root.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 89 * Visit all non-heap roots(registers, thread locals, etc) 101 * @param card_table - card table for scan 102 * @param allocator - object allocator 104 * @param range_checker - return true if we need to check mem range for current card 105 …* @param range_object_checker - return true if we should apply root_visitor to the object obtained… 107 …* @param from_object_checker - return true if we need to traverse objects approved by range_checker 141 * Visit VM-specific roots
|
| 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 216 gc_listeners_ptr_->push_back(listener); in AddListener() 222 auto it = std::find(gc_listeners_ptr_->begin(), gc_listeners_ptr_->end(), listener); in RemoveListener() [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 …]
|
| /arkcompiler/runtime_core/scripts/ |
| D | memusage.py | 2 # -- coding: utf-8 -- 3 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 8 # http://www.apache.org/licenses/LICENSE-2.0 34 # pylint: disable=too-few-public-methods 81 55e88a5ab000-55e88a7c8000 r-xp 00068000 08:02 14434818 /usr/bin/nvim 86 for _ in range(5): 91 # pylint: disable=too-many-instance-attributes 106 "[anon:ark-Object Space]": MemInfo("ark-Object Space"), 107 "[anon:ark-Humongous Space]": MemInfo("ark-Humongous Space"), 108 "[anon:ark-Non Movable Space]": MemInfo("ark-Non Movable Space"), [all …]
|
| /arkcompiler/runtime_core/assembler/ |
| D | assembly-ins.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 26 #include "assembly-debug.h" 60 constexpr int INVALID_REG_IDX = -1; 62 constexpr size_t MAX_NUMBER_OF_SRC_REGS = 4; // TODO(mbolshov): auto-generate 85 // clang-format off 88 // clang-format on 94 constexpr static uint16_t ACCUMULATOR = -1; 101 std::vector<uint16_t> regs; /* list of arguments - registers */ 102 std::vector<std::string> ids; /* list of arguments - identifiers */ [all …]
|
| /arkcompiler/runtime_core/bytecode_optimizer/ |
| D | reg_encoder.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 24 if (inst->GetOpcode() != compiler::Opcode::Intrinsic) { in IsIntrinsicRange() 28 switch (inst->CastToIntrinsic()->GetIntrinsicId()) { in IsIntrinsicRange() 52 switch (inst->GetOpcode()) { in CanHoldRange() 64 for (auto bb : graph->GetBlocksRPO()) { in CalculateNumNeededRangeTemps() 65 for (const auto &inst : bb->AllInsts()) { in CalculateNumNeededRangeTemps() 69 auto nargs = inst->GetInputsCount() - (inst->RequireState() ? 1 : 0); in CalculateNumNeededRangeTemps() 103 if (num_regs > compiler::VIRTUAL_FRAME_SIZE - num_temps_) { // to avoid overflow in RunImpl() 107 auto delta = static_cast<compiler::Register>(num_temps_ - max_num_temps); in RunImpl() [all …]
|
| /arkcompiler/ets_runtime/ecmascript/js_api/ |
| D | js_api_plain_array.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 31 JSHandle<TaggedArray> keyArray(thread, obj->GetKeys()); in Add() 32 JSHandle<TaggedArray> valueArray(thread, obj->GetValues()); in Add() 33 int32_t size = obj->GetLength(); in Add() 34 int32_t index = obj->BinarySearch(*keyArray, 0, size, key.GetTaggedValue().GetNumber()); in Add() 36 keyArray->Set(thread, index, key); in Add() 37 valueArray->Set(thread, index, value); in Add() 42 obj->AdjustArray(thread, *keyArray, index, size, true); in Add() 43 obj->AdjustArray(thread, *valueArray, index, size, true); in Add() 45 uint32_t capacity = valueArray->GetLength(); in Add() [all …]
|
| /arkcompiler/ets_frontend/es2panda/test/ |
| D | test262skiplist.txt | 2 annexB/built-ins/RegExp/RegExp-decimal-escape-class-range.js 3 annexB/built-ins/RegExp/incomplete_hex_unicode_escape.js 4 annexB/language/comments/multi-line-html-close.js 5 annexB/language/comments/single-line-html-close-asi.js 6 annexB/language/comments/single-line-html-close-unicode-separators.js 7 annexB/language/comments/single-line-html-close.js 8 annexB/language/comments/single-line-html-open.js 9 annexB/language/literals/regexp/class-escape.js 10 built-ins/Atomics/add/bigint/bad-range.js 11 built-ins/Atomics/add/bigint/good-views.js [all …]
|
| D | test262skiplist-long.txt | 1 # RUNTIME-TIMEOUT 2 built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js 3 built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js 4 built-ins/Array/prototype/every/15.4.4.16-7-c-ii-2.js 5 built-ins/Array/prototype/filter/15.4.4.20-9-c-ii-1.js 6 built-ins/Array/prototype/forEach/15.4.4.18-7-c-ii-1.js 7 built-ins/Array/prototype/indexOf/15.4.4.14-10-1.js 8 built-ins/Array/prototype/lastIndexOf/15.4.4.15-9-1.js 9 built-ins/Array/prototype/map/15.4.4.19-8-c-ii-1.js 10 built-ins/Array/prototype/some/15.4.4.17-7-c-ii-2.js [all …]
|
| /arkcompiler/runtime_core/verification/ |
| D | messages.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 198 Cannot create array of non-array type '${type}'. Possible types are ${array_types}. 204 Cannot create object of non-object type '${type}'. Possible types are ${object_types}. 266 …Wrong type for 'checkcast'. It is a non-object type '${type}'. Possible types are ${possible_types… 314 …Wrong type for 'isinstance'. It is a non-object/non-array type '${type}'. Possible types are ${pos… 378 …register, like in one path type is u16, in another - i32. It is not an error, but there may be pot… 543 message: Wrong call with accumulator instruction, the accumulator position is out of range
|
| /arkcompiler/runtime_core/runtime/mem/ |
| D | allocator.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 18 #include "runtime/include/mem/allocator-inl.h" 23 #include "runtime/mem/bump-allocator-inl.h" 24 #include "runtime/mem/freelist_allocator-inl.h" 25 #include "runtime/mem/internal_allocator-inl.h" 26 #include "runtime/mem/runslots_allocator-inl.h" 27 #include "runtime/mem/pygote_space_allocator-inl.h" 46 // NOLINTNEXTLINE(readability-delete-null-pointer) in ~ObjectAllocatorBase() 56 return mem_pool->HaveEnoughPoolsInObjectSpace(pools_num, pool_size); in HaveEnoughPoolsInObjectSpace() [all …]
|
| /arkcompiler/runtime_core/compiler/optimizer/ir/ |
| D | basicblock.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 110 …if constexpr (invert) { // NOLINT(readability-braces-around-statements,bugprone-suspicious-semico… in SwapTrueFalseSuccessors() 115 succs_[0]->InvalidateLoopIfIrreducible(); in SwapTrueFalseSuccessors() 116 succs_[1]->InvalidateLoopIfIrreducible(); in SwapTrueFalseSuccessors() 189 * the created block - after. 207 new_pred->succs_.push_back(this); in ReplacePred() 216 new_succ->preds_.push_back(this); in ReplaceTrueSuccessor() 223 new_succ->preds_.push_back(this); in ReplaceFalseSuccessor() 239 // Used in if-conversion pass and fixes dataflow using Select instructions. [all …]
|
| /arkcompiler/runtime_core/runtime/mem/gc/g1/ |
| D | g1-allocator.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 16 #include "runtime/include/mem/allocator-inl.h" 17 #include "runtime/mem/gc/g1/g1-allocator.h" 18 #include "runtime/mem/freelist_allocator-inl.h" 19 #include "runtime/mem/humongous_obj_allocator-inl.h" 20 #include "runtime/mem/pygote_space_allocator-inl.h" 21 #include "runtime/mem/rem_set-inl.h" 97 return object_allocator_->CreateNewTLAB(thread, TLAB_SIZE); in CreateNewTLAB() 109 // we need ensure that the mem range related to a card must be located in one allocator in IterateOverObjectsInRange() [all …]
|
| /arkcompiler/ets_frontend/es2panda/lexer/regexp/ |
| D | regexp.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 69 return (cp - LEX_CHAR_0); in DigitValue() 81 return cp - LEX_CHAR_UPPERCASE_A + OFFSET; in HexValue() 84 return (cp - LEX_CHAR_LOWERCASE_A + OFFSET); in HexValue() 222 ThrowError("Invalid non-capturing group"); in ParseNonCapturingGroup() 411 ThrowError("Class range out of order"); in ParseCharacterClass() 613 while (count--) { in ParseUnicodeDigits() 797 ThrowError("Quantifier range out of order"); in ParseBracedQuantifier()
|