/arkcompiler/runtime_core/compiler/docs/ |
D | interface_inline_cache.md | 11 * There is a 90% - 95% chance that the same method will be used in real-world application test. 20 * must be 64bit system 27 Cache structure:(offset addr)/(class addr) 32bit/32bit 28 ----------------------------------------------- 31 cache:offset/class ---------->| <-| 35 --> call runtime irtoc function | | 36 read cache <-----------------------| | 41 save method‘s offset to cache >------| 42 <-- return to (.text) 44 ----------------------------------------------- [all …]
|
/arkcompiler/runtime_core/libpandabase/utils/ |
D | regmask.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 44 size_t res = (1ULL << width) - 1; in MakeMaskByExcluding() 50 * Base struct for registers mask, template-parametrized by number of registers. 51 * Currently we don't support registers number greater than 32. 59 // We don't support architectures with CPU registers number, greater than 32. 67 // NOLINTNEXTLINE(google-explicit-constructor) 90 constexpr bool Test(size_t bit) const in Test() argument 92 ASSERT(bit < Size()); in Test() 93 return ((value_ >> static_cast<ValueType>(bit)) & 1U) != 0; in Test() [all …]
|
D | math_helpers.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 31 * @param X - should be power of 2 36 ASSERT((X > 0) && !(X & (X - 1U))); in GetIntLog2() 42 * @param X - of type uint64_t, should be power of 2 47 ASSERT((X > 0) && !(X & (X - 1U))); in GetIntLog2() 58 return (value & (value - 1)) == 0; in IsPowerOfTwo() 68 --value; in GetPowerOfTwoValue32() 73 constexpr uint32_t BIT = 32UL; in GetPowerOfTwoValue32() local 74 return 1UL << (BIT - Clz(static_cast<uint32_t>(value))); in GetPowerOfTwoValue32() [all …]
|
/arkcompiler/ets_runtime/ecmascript/jspandafile/ |
D | constpool_value.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 64 // NOLINTNEXTLINE(readability-magic-numbers) 65 using ConstPoolIndexField = BitField<uint32_t, 0, 32>; // 32: 32 bit 66 // NOLINTNEXTLINE(readability-magic-numbers) 67 using ConstPoolTypeField = BitField<ConstPoolType, 32, 4>; // 32: offset, 4: 4bit
|
/arkcompiler/ets_runtime/ecmascript/tests/ |
D | frame_test.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 51 if (sizeof(uintptr_t) == sizeof(uint32_t)) { // 32 bit in HWTEST_F_L0() 52 // The frame structure is different between 32 bit and 64 bit. in HWTEST_F_L0() 53 // Skip 32 bit because there is no ArkJS Heap. in HWTEST_F_L0()
|
/arkcompiler/runtime_core/docs/ |
D | code_metainfo.md | 5 Metainfo is an information that aims to provide reg-to-stack mapping for virtual registers. It is n… 14 +-------------+ 16 | +-------------------+ 20 +-------------+-------------------+ 21 | | <-- Method::CompiledCodeEntrypoint 24 +-------------+-----------------+ 26 | |-----------------+----------------------+ 31 | | Bit Tables | Method indexes | 37 |-------------+-----------------+----------------------+ 40 ## Bit table [all …]
|
D | 2022-08-18-isa-changelog.md | 1 # 2022-08-18-isa-changelog 15 3. We add prefix "deprecated" and keep the many old isa as "deprecated"-prefixed opcodes (for compa… 20 8. We add 8-bit or 16-bit imm as inline cache slot for some specific opcodes. 23 As we merge some "define-function" opcodes as one opcode, in function we add one field which record… 24 such that runtime can distinguish the "define-function" operations of different kinds. 26 We reuse the field 32-bit field `access_flags_` to encode Function Kind and Header index. 27 This will not introduce compatibility issue because the later 24-bit of `access_flags_` is unused i… 30 |<- 16-bit header index ->|<- 8-bit function kind ->|<- 8-bit original access flag ->| 39 As we use 16-bit to encode methodId, stringId and literalarrayId, the number of these Ids in one me… 45 3. In bytecode, we still use 16-bit literalarrayId rather than offset. [all …]
|
D | assembly_format.md | 5 … assembly file format for Panda platform. Assembly files are human-readable and human-writeable pl… 11 …-to-byte-code language with a minimal feature set. All language-specific "traits" that should be s… 28 …-point decimal/hexadecimal literals that can be represented with IEEE 754. Hexadecimal floating-po… 32 …e of any characters enclosed in `"` characters. Non-printable characters and characters out of Lat… 36 - `\"` double quote, `\x22` 37 - `\a` alert, `\x07` 38 - `\b` backspace, `\x08` 39 - `\f` form feed, `\x0c` 40 - `\n` newline, `\x0a` 41 - `\r` carriage return, `\x0d` [all …]
|
/arkcompiler/runtime_core/compiler/optimizer/ir/ |
D | instructions.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 19 Describes signature of the instruction. Properties of the operands are separated by '-' symbol. 39 - equal_common_types 40 - float_src_eq_dst_size 41 - integer_src_ge_dst_size 43 - equal_common_types 44 - integer_src_ge_dst_size 46 - equal_common_types 47 - integer_src_ge_dst_size [all …]
|
/arkcompiler/runtime_core/libpandabase/tests/ |
D | regmask_test.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 29 …ASSERT_EQ(mask.GetMaxRegister(), base.size() - Clz(static_cast<RegMask::ValueType>(base.to_ulong()… in CompareWithBitset() 61 void TestDistance(RegMask mask, size_t bit, size_t bits_before, size_t bits_after) in TestDistance() argument 63 ASSERT_EQ(mask.GetDistanceFromTail(bit), bits_before); in TestDistance() 64 ASSERT_EQ(mask.GetDistanceFromHead(bit), bits_after); in TestDistance() 71 TestRegMask(MakeMaskByExcluding(32, 0)); 72 TestRegMask(MakeMaskByExcluding(32, 31)); 73 TestRegMask(MakeMaskByExcluding(32, 0, 31)); 74 TestRegMask(MakeMaskByExcluding(32, 0, 15, 31));
|
D | hash_test.cpp | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 69 std::cout << "Failed 32bit key hash on seed = 0x" << std::hex << seed_ << std::endl; in OneObject32bitsHashTest() 77 std::cout << "Failed 32bit key hash on seed = 0x" << std::hex << seed_ << std::endl; in OneObject32bitsHashTest() 86 std::cout << "Failed 32bit key hash on seed = 0x" << std::hex << seed_ << std::endl; in OneObject32bitsHashTest() 126 …reinterpret_cast<char *>((reinterpret_cast<uintptr_t>(mem) + PAGE_SIZE) - sizeof(char) * string_si… in EndOfPageStringHashTest() 131 uint32_t second_hash = T::GetHash32(mutf8_string, string_size - 1); in EndOfPageStringHashTest() 139 // Do it for 8 bits key, 32 bits and 40 bits key.
|
/arkcompiler/ets_runtime/ecmascript/base/ |
D | bit_helper.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 59 *buffer = reinterpret_cast<void *>(reinterpret_cast<uintptr_t>(*buffer) + result->Size()); in ReadBufferInSize() 77 // 32 : 32 mean the bits of type T is less than 32 in CountLeadingZeros() 78 return __builtin_clz(static_cast<uint32_t>(value)) - (32 - std::numeric_limits<T>::digits); in CountLeadingZeros() 138 /// isMask_64 - This function returns true if the argument is a non-empty 139 /// sequence of ones starting at the least significant bit with the remainder 140 /// zero (64 bit version). 146 /// isShiftedMask_64 - This function returns true if the argument contains a 147 /// non-empty sequence of ones with the remainder zero (64 bit version.) 150 return Value && IsMask_64((Value - 1) | Value); in IsShiftedMask_64() [all …]
|
/arkcompiler/runtime_core/tests/verifier-tests/ |
D | bug_2107_2.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 #- title: Integer truncations and extensions. 19 # Truncations discard all but N lowest-order bits, where N is the bit size of destination 24 # - x_none 26 # - sig: i64toi32 27 # acc: inout:i64->i32 29 # - op_none 31 # - acc_type [all …]
|
D | bug_2107_1.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 #- title: Type conversions 22 # - x_none 24 # - sig: i64tof64 25 # acc: inout:i64->f64 27 # - op_none 29 # - acc_type 31 ## runner-option: verifier-failure [all …]
|
/arkcompiler/ets_runtime/ecmascript/mem/ |
D | gc_bitset.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 24 // |----word(32 bit)----|----word(32 bit)----|----...----|----word(32 bit)----|----word(32 bit)----| 25 // |---------------------------------------GCBitset(4 kb)------------------------------------------| 39 static constexpr uint32_t BIT_PER_WORD_MASK = BIT_PER_WORD - 1; 101 uint32_t endIndex = Index(offsetEnd - 1); in ClearBitRange() 102 uint32_t endIndexMask = Mask(IndexInWord(offsetEnd - 1)); in ClearBitRange() 105 ClearWord<mode>(startIndex, ~(startIndexMask - 1)); in ClearBitRange() 106 ClearWord<mode>(endIndex, endIndexMask | (endIndexMask - 1)); in ClearBitRange() 111 ClearWord<mode>(endIndex, endIndexMask | (endIndexMask - startIndexMask)); in ClearBitRange() 163 words[i] |= bitset->Words()[i]; in Merge() [all …]
|
/arkcompiler/runtime_core/tests/checked/ |
D | ldarray_obj.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 15 #! RUN force_jit: true, options: "--compiler-regex=_GLOBAL::test", entry: "_GLOBAL::main",… 28 # v1 <- array 38 # Second parameter is 32-bit, but here we call it with 64-bit
|
/arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
D | i32tof32.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 - file-name: "i32tof32" 22 - x_none 24 - file-name: "op_none" 27 - sig: i32tof32 28 acc: inout:i32->f32 31 code-template: | 40 - values: 41 - "0" [all …]
|
D | i64toi32.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 - file-name: "i64toi32" 21 … Truncations discard all but N lowest-order bits, where N is the bit size of destination type. 23 - x_none 25 - file-name: "op_none" 28 - sig: i64toi32 29 acc: inout:i64->i32 32 code-template: | 46 - values: [all …]
|
D | i64tou1.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 - file-name: "i64tou1" 24 - x_none 26 - file-name: "op_none" 29 - sig: i64tou1 30 acc: inout:i64->u1 33 code-template: | 47 - values: 48 - "0" [all …]
|
D | i64tof64.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 - file-name: "i64tof64" 22 - x_none 24 - file-name: "op_none" 27 - sig: i64tof64 28 acc: inout:i64->f64 31 code-template: | 40 - values: 41 - "0" [all …]
|
D | u64tof64.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 - file-name: "u64tof64" 22 - x_none 24 - file-name: "op_none" 27 - sig: u64tof64 28 acc: inout:u64->f64 31 code-template: | 40 - values: 41 - "0" [all …]
|
/arkcompiler/ets_frontend/es2panda/util/ |
D | base64.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 28 …for (size_t i = 0, j = 0; i < encodedRes.length() - 2; i += TRANSFORMED_CHAR_NUM, j += TO_TRANSFOR… in Base64Encode() 29 // convert three 8bit into four 6bit; then add two 0 bit in each 6 bit in Base64Encode() 41 encodedRes[encodedRes.length() - 2] = '='; in Base64Encode() 42 encodedRes[encodedRes.length() - 1] = '='; in Base64Encode() 45 encodedRes[encodedRes.length() - 1] = '='; in Base64Encode() 56 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, in Base64Decode() 57 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, in Base64Decode() 58 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, in Base64Decode() 59 -1, -1, -1, -1, -1, -1, -1, in Base64Decode() [all …]
|
/arkcompiler/runtime_core/bytecode_optimizer/ |
D | tagged_value.h | 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 27 // Every double with all of its exponent bits set and its highest mantissa bit set is a quiet NaN. 29 // “QNaN Floating-Point Indefinite” value, leaving us 50 bits. Those remaining bits can be anythin… 31 // to the value will begin with a 16-bit pattern within the range 0x0001..0xFFFE. 33 // Nan-boxing pointer is used and the first four bytes are used as tag: 34 // Object: [0x0000] [48 bit direct pointer] 35 // WeakRef: [0x0000] [47 bits direct pointer] | 1 bit 1 36 // / [0x0001] [48 bit any value] 38 // \ [0xFFFE] [48 bit any value] [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/ |
D | assembler_aarch64.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 31 … ((width != RegXSize) && (((imm >> width) != 0) || (imm == (~0ULL >> (RegXSize - width)))))) { in Create() 39 uint64_t mask = (1ULL << size) - 1; in Create() 50 uint64_t mask = ((uint64_t)-1LL) >> (RegXSize - size); in Create() 64 i = static_cast<uint32_t>(RegXSize) - clo; in Create() 65 cto = clo + CountTrailingOnes64(imm) - (static_cast<uint32_t>(RegXSize) - size); in Create() 72 unsigned immr = (size - i) & (size - 1); in Create() 74 // If size has a 1 in the n'th bit, create a value that has zeroes in in Create() 76 uint64_t nImms = ~(size - 1) << 1; in Create() 78 // Or the CTO value into the low bits, which must be below the Nth bit in Create() [all …]
|
/arkcompiler/ets_frontend/merge_abc/ |
D | HowToWriteProtoForAssemblyStuff.md | 56 |:-----------|:---------------|:------------| 58 |float |float | 32位浮点数 59 |int32 |int32 | 32位整数 61 |uint32 |uint32 | 32位无符号整数 63 |sint32 |int32 | 32位整数,处理负数效率比int32更高 70 |string | string | 一个字符串必须是UTF-8编码或者7-bit ASCII编码的文本
|