| /arkcompiler/ets_runtime/ecmascript/ |
| D | ecma_isa.yaml | 6 # http://www.apache.org/licenses/LICENSE-2.0 15 - name: ecma 19 - title: Ecma extension instructions 22 - none 24 - x_none 26 - acc_read 27 - acc_write 30 acc = ecma_op(acc, operand_0, ..., operands_n) 34 - sig: ecma.ldnan 35 acc: out:top [all …]
|
| /arkcompiler/runtime_core/static_core/isa/ |
| D | isa.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 14 --- 17 - name: General design 21 - name: Registers 31 - name: Accumulator 40 register-to-register moves. 42 - name: Calling sequence 48 …On return, callee frame is destroyed. If function return value is non-void, it is passed to caller… 52 - name: Supported primitive types [all …]
|
| /arkcompiler/runtime_core/isa/ |
| D | isa.yaml | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 14 --- 17 - name: General design 21 - name: Registers 31 - name: Accumulator 40 register-to-register moves. 42 - name: Calling sequence 48 …On return, callee frame is destroyed. If function return value is non-void, it is passed to caller… 52 - name: Supported primitive types [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/tests/ |
| D | typed_array_lowering_test.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 23 #include "gtest/gtest-death-test.h" 48 GateAccessor acc(&circuit); in HWTEST_F_L0() local 55 acc.SetMachineType(loadLength, MachineType::I32); in HWTEST_F_L0() 56 acc.SetGateType(loadLength, GateType::NJSValue()); in HWTEST_F_L0() 65 EXPECT_EQ(acc.GetOpCode(loadLength), OpCode::NOP); in HWTEST_F_L0() 66 auto result = acc.GetValueIn(convert, 0); in HWTEST_F_L0() 67 EXPECT_EQ(acc.GetOpCode(result), OpCode::LOAD_CONST_OFFSET); in HWTEST_F_L0() 68 EXPECT_EQ(acc.GetMachineType(result), MachineType::I32); in HWTEST_F_L0() 77 GateAccessor acc(&circuit); in HWTEST_F_L0() local [all …]
|
| D | dead_code_elimination_test.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 44 GateAccessor acc(&circuit); in HWTEST_F_L0() local 45 auto depend = acc.GetDependRoot(); in HWTEST_F_L0() 58 EXPECT_TRUE(acc.IsNop(ifBranch)); in HWTEST_F_L0() 59 EXPECT_TRUE(acc.IsNop(ifTrue)); in HWTEST_F_L0() 60 EXPECT_TRUE(acc.IsNop(ifFalse)); in HWTEST_F_L0() 61 EXPECT_TRUE(acc.IsNop(trueReturn)); in HWTEST_F_L0() 62 EXPECT_TRUE(acc.IsNop(falseReturn)); in HWTEST_F_L0() 73 GateAccessor acc(&circuit); in HWTEST_F_L0() local 74 auto entry = acc.GetStateRoot(); in HWTEST_F_L0() [all …]
|
| D | meta_data_equal_test.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 54 GateAccessor acc(&circuit); in HWTEST_F_L0() local 64 EXPECT_FALSE(acc.MetaDataValueEqu(stringGate1, stringGate2)); in HWTEST_F_L0() 68 EXPECT_TRUE(acc.MetaDataValueEqu(stringGate1, stringGate3)); in HWTEST_F_L0() 77 GateAccessor acc(&circuit); in HWTEST_F_L0() local 87 EXPECT_TRUE(acc.MetaDataValueEqu(constantValue1, constantValue2)); in HWTEST_F_L0() 93 EXPECT_FALSE(acc.MetaDataValueEqu(constantValue3, constantValue4)); in HWTEST_F_L0() 101 EXPECT_TRUE(acc.MetaDataValueEqu(constantValue5, constantValue6)); in HWTEST_F_L0() 109 EXPECT_TRUE(acc.MetaDataValueEqu(ConstGateNJSValue2, ConstGateUndefined)); in HWTEST_F_L0() 118 GateAccessor acc(&circuit); in HWTEST_F_L0() local [all …]
|
| D | loop_optimization_test.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 33 #include "gtest/gtest-death-test.h" 66 GateAccessor acc(&circuit); in HWTEST_F_L0() local 82 EXPECT_TRUE(acc.IsLoopHead(loopBegin)); in HWTEST_F_L0() 84 acc.SetMachineType(loadLength, MachineType::I32); in HWTEST_F_L0() 85 acc.SetGateType(loadLength, GateType::NJSValue()); in HWTEST_F_L0() 87 acc.SetMachineType(cmp, MachineType::I1); in HWTEST_F_L0() 91 acc.SetMachineType(loadElement, MachineType::I32); in HWTEST_F_L0() 92 acc.SetGateType(loadElement, GateType::NJSValue()); in HWTEST_F_L0() 94 acc.SetMachineType(sumAdd, MachineType::I32); in HWTEST_F_L0() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/isa/ |
| D | isa.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 15 - name: ets 19 - namespace: ets 23 - tag: v2_obj_or_null 27 - title: ETS launch instructions 31 - none 33 - method_id 34 - short_long_range 36 - x_oom [all …]
|
| /arkcompiler/runtime_core/static_core/tests/cts-assembly/ |
| D | arrays-07.pa | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 # - title: Load from array 23 # - acc_read 24 # - acc_write 29 # if acc < 0 || acc >= len(vs) then 33 # acc = f32tof64(vs[acc]) 35 # acc = i8toi32(vs[acc]) 37 # acc = u8toi32(vs[acc]) [all …]
|
| D | arrays-08.pa | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 # - title: Load from array 23 # - acc_read 24 # - acc_write 29 # if acc < 0 || acc >= len(vs) then 33 # acc = f32tof64(vs[acc]) 35 # acc = i8toi32(vs[acc]) 37 # acc = u8toi32(vs[acc]) [all …]
|
| /arkcompiler/runtime_core/tests/cts-assembly/ |
| D | arrays-07.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 # - title: Load from array 23 # - acc_read 24 # - acc_write 29 # if acc < 0 || acc >= len(vs) then 33 # acc = f32tof64(vs[acc]) 35 # acc = i8toi32(vs[acc]) 37 # acc = u8toi32(vs[acc]) [all …]
|
| D | arrays-08.pa | 1 # Copyright (c) 2021-2022 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 16 #--- 17 # - title: Load from array 23 # - acc_read 24 # - acc_write 29 # if acc < 0 || acc >= len(vs) then 33 # acc = f32tof64(vs[acc]) 35 # acc = i8toi32(vs[acc]) 37 # acc = u8toi32(vs[acc]) [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/baseline/ |
| D | baseline_call_signature.h | 7 * http://www.apache.org/licenses/LICENSE-2.0 43 callSign->SetParameters(params.data()); \ 44 callSign->SetTargetKind(CallSignature::TargetKind::BASELINE_STUB); \ 45 callSign->SetCallConv(CallSignature::CallConv::CCallConv) 62 GLUE, SP, ACC, STRING_ID) 74 GLUE, SP, ACC) 78 GLUE, SP, GEN_FUNC, ACC) 82 GLUE, SP, ACC) 124 GLUE, SP, ACC, FUNC) 126 GLUE, SP, ACC, FUNC) [all …]
|
| D | baseline_stubs.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 18 #include "ecmascript/compiler/baseline/baseline_stubs-inl.h" 39 GateRef isDebugModeOffset = IntPtr(JSThread::GlueData::GetIsDebugModeOffset(env->Is32Bit())); \ 56 …GateRef iVecOffset = IntPtr(JSThread::GlueData::GetInterruptVectorOffset(env->IsArch32Bit())); … 100 CheckExceptionWithJump(glue, sp, res, acc, jump) 103 CheckExceptionWithJumpAndReturn(glue, sp, res, acc, jump) 106 CheckExceptionWithVar(glue, sp, res, acc) 112 CheckPendingException(glue, sp, res, acc) 122 auto debugModeOffset = JSThread::GlueData::GetIsDebugModeOffset(env->Is32Bit()); \ 123 auto tracingOffset = JSThread::GlueData::GetIsTracingOffset(env->Is32Bit()); \ [all …]
|
| /arkcompiler/runtime_core/static_core/tests/cts-generator/cts-template/ |
| D | call.acc.short.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 16 - file-name: call.acc.short 26 runtime constant-pool. 28 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will 30 In dynamically-typed language context accept 'any' values in source registers. 33 - method_id_static 34 - compatible_arguments 35 - method_id_non_abstract [all …]
|
| D | call.virt.acc.short.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 16 - file-name: call.virt.acc.short 26 constant-pool based on object reference using language-specific semantics. 29 Non-range instructions can be used to pass up to 4 arguments (including object reference). 32 - sig: call.virt.acc.short method_id, v:in:top, imm:u1 33 acc: inout:top 36 - file-name: op_v_4_imm_4_id_16 40 - sig: call.virt.acc.short method_id, v:in:top, imm:u1 [all …]
|
| D | call.acc.yaml | 1 # Copyright (c) 2021-2024 Huawei Device Co., Ltd. 6 # http://www.apache.org/licenses/LICENSE-2.0 13 --- 16 - file-name: call.acc 26 runtime constant-pool. 28 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will 30 In dynamically-typed language context accept 'any' values in source registers. 33 - method_id_static 34 - compatible_arguments 35 - method_id_non_abstract [all …]
|
| /arkcompiler/ets_runtime/ecmascript/compiler/ |
| D | scheduler.cpp | 7 * http://www.apache.org/licenses/LICENSE-2.0 49 GateAccessor acc(const_cast<Circuit*>(circuit)); in CalculateDominatorTree() local 52 circuit->AdvanceTime(); in CalculateDominatorTree() 56 auto startGate = acc.GetStateRoot(); in CalculateDominatorTree() 57 acc.SetMark(startGate, MarkCode::VISITED); in CalculateDominatorTree() 64 if (acc.GetOpCode(curGate) != OpCode::LOOP_BACK) { in CalculateDominatorTree() 65 auto uses = acc.Uses(curGate); in CalculateDominatorTree() 67 if (useIt.GetIndex() < acc.GetStateCount(*useIt) && in CalculateDominatorTree() 68 acc.IsState(*useIt) && acc.GetMark(*useIt) == MarkCode::NO_MARK) { in CalculateDominatorTree() 69 acc.SetMark(*useIt, MarkCode::VISITED); in CalculateDominatorTree() [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/bridge/arch/arm/ |
| D | handle_call_v4_imm4_id16_arm.S | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 16 // handle call.acc.short || call.virt.acc.short 18 // r0 - SHORTY_PTR_REG, r1 - SHORTY_REG, r2 - shorty value, r3 - insn, r4 - insn_ptr, 19 // r5 - iframe.vregs, r6 and r7 - temps, r8 - pointer to stack, lr - method 24 // read arg index and acc position into r3 and advance insn_ptr 27 // check acc position 32 // 'call vreg, acc' case 38 10: // handle acc 43 sub r6, r5, #(FRAME_VREGS_OFFSET - FRAME_ACC_OFFSET) [all …]
|
| D | handle_call_v4_imm4_id16_armhf.S | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 16 // handle call.acc.short || call.virt.acc.short 18 // r0 - SHORTY_PTR_REG, r1 - SHORTY_REG, r2, r3 - shorty value and temp, 19 // r4 - gpr and fpr base ptr, r5 - gpr arg ptr, r6 - fpr arg ptr, 20 // r7 - stack arg ptr, r8 - insn ptr, r9 - iframe, r10 - insn, 21 // ip - thread, lr - method 26 // read arg index and acc position into r10 and advance insn_ptr 29 // check acc position 34 // 'call vreg, acc' case [all …]
|
| D | handle_call_v4_v4_v4_imm4_id16_arm.S | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 16 // handle call.acc || call.virt.acc 18 // r0 - SHORTY_PTR_REG, r1 - SHORTY_REG, r2 - shorty value, r3 - insn, r4 - insn_ptr, 19 // r5 - iframe, r6, r7 and r9 - temps, r8 - pointer to stack, lr - method 24 // read reg index and acc position into r3 and advance insn_ptr 29 and r9, r9, #0xF // r9 now contains acc position 36 // check acc position and branch to acc/vreg index handling 50 // handle acc 51 sub r6, r5, #(FRAME_VREGS_OFFSET - FRAME_ACC_OFFSET)
|
| D | handle_call_v4_v4_v4_imm4_id16_armhf.S | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 16 // handle call.acc || call.virt.acc 18 // r0 - SHORTY_PTR_REG, r1 - SHORTY_REG, r2, r3 - shorty value and temp, 19 // r4 - gpr and fpr base ptr, r5 - gpr arg ptr, r6 - fpr arg ptr, 20 // r7 - stack arg ptr, r8 - insn ptr, r9 - iframe, r10 - insn, 21 // ip - thread, lr - method 25 str ip, [fp, #-40] 29 // read reg index and acc position into r10 and advance insn_ptr 34 and ip, ip, #0xF // ip now contains acc position [all …]
|
| /arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
| D | call.acc.short.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.acc.short 30 runtime constant-pool. 32 … Non-range instructions can be used to pass up to 4 arguments (unused register slot values will 34 In dynamically-typed language context accept 'any' values in source registers. 37 - method_id_static 38 - compatible_arguments [all …]
|
| D | call.virt.acc.short.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.virt.acc.short 30 …constant-pool based on object reference using language-specific semantics (currently only PandaAss… 34 Non-range instructions can be used to pass up to 4 arguments (including object reference). 37 - sig: call.virt.acc.short method_id, v:in:top, imm:u1 38 acc: inout:top 42 - file-name: op_v_4_imm_4_id_16 [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/bridge/arch/aarch64/ |
| D | handle_call_v4_imm4_id16_aarch64.S | 2 * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 7 * http://www.apache.org/licenses/LICENSE-2.0 16 // handle call.acc.short || call.virt.acc.short 18 // x0 - SHORTY_PTR_REG, w1 - SHORTY_REG, w2 - shorty value, x3 - stack arg ptr, 19 // x4 - float arg ptr, x5 - insn, x6 - insn_ptr, x7 - frame.vregs, x9 - arg base ptr 20 // x10 - gpr arg ptr, x11, x12, x13 - temps, x19 - method.shorty, lr - method 24 // read arg index and acc position into w5 and advance insn_ptr 27 // check acc index 32 // the case call vreg, acc 43 sub x11, x7, #(FRAME_VREGS_OFFSET - FRAME_ACC_OFFSET) [all …]
|