/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/aarch64/ |
D | optimized_fast_call.cpp | 60 __ Add(tmpArgV, tmpArgV, Immediate(DOUBLE_SLOT_SIZE)); in OptimizedFastCallEntry() 117 __ Add(__ AvailableRegister4(), sp, Immediate(4 * FRAME_SLOT_SIZE)); // 4 skip fp lr type x19 in OptimizedFastCallAndPushUndefined() 129 __ Add(expectedNumArgs, expectedNumArgs, Immediate(NUM_MANDATORY_JSFUNC_ARGS)); in OptimizedFastCallAndPushUndefined() 137 __ Cmp(actualNumArgsReg, Immediate(3)); // 3: 3 args in OptimizedFastCallAndPushUndefined() 139 __ Mov(Register(X3), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined() 140 __ Mov(Register(X4), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined() 141 __ Mov(Register(X5), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined() 142 __ Mov(Register(X6), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined() 143 __ Mov(Register(X7), Immediate(JSTaggedValue::VALUE_UNDEFINED)); in OptimizedFastCallAndPushUndefined() 149 __ Cmp(actualNumArgsReg, Immediate(4)); // 4: 4 args in OptimizedFastCallAndPushUndefined() [all …]
|
D | optimized_call.cpp | 73 __ Mov(frameType, Immediate(static_cast<int64_t>(FrameType::LEAVE_FRAME))); in CallRuntime() 76 __ Add(fp, sp, Immediate(2 * FRAME_SLOT_SIZE)); // 16: skip frame type and tmp in CallRuntime() 86 __ Add(argV, fp, Immediate(GetStackArgOffSetToFp(2))); // 2: the third arg id in CallRuntime() 95 __ Add(sp, sp, Immediate(2 * FRAME_SLOT_SIZE)); in CallRuntime() 105 __ Add(argc, argc, Immediate(static_cast<int64_t>(CommonArgIdx::ACTUAL_ARGC))); in IncreaseStackForArguments() 110 __ Sub(currentSp, currentSp, Immediate(FRAME_SLOT_SIZE)); in IncreaseStackForArguments() 155 __ Add(tmpArgV, tmpArgV, Immediate(TRIPLE_SLOT_SIZE)); in JSFunctionEntry() 157 __ Cmp(Register(X6), Immediate(1)); in JSFunctionEntry() 218 __ Add(expectedNumArgs, expectedNumArgs, Immediate(NUM_MANDATORY_JSFUNC_ARGS)); in OptimizedCallAndPushUndefined() 220 …__ Add(argV, sp, Immediate(kungfu::ArgumentAccessor::GetExtraArgsNum() * FRAME_SLOT_SIZE)); // sk… in OptimizedCallAndPushUndefined() [all …]
|
D | common_call.cpp | 43 …__ Mov(frameTypeRegister, Immediate(static_cast<int64_t>(FrameType::ASM_INTERPRETER_BRIDGE_FRAME))… in PushAsmInterpBridgeFrame() 48 __ Add(fp, sp, Immediate(24)); // 24: skip frame type, prevSp, pc in PushAsmInterpBridgeFrame() 77 __ Mov(frameType, Immediate(static_cast<int64_t>(FrameType::LEAVE_FRAME))); in PushLeaveFrame() 81 __ Add(Register(FP), sp, Immediate(DOUBLE_SLOT_SIZE)); in PushLeaveFrame() 103 __ Cmp(argc.W(), Immediate(0)); in PushArgsWithArgv() 113 __ Sub(argc.W(), argc.W(), Immediate(1)); in PushArgsWithArgv() 121 __ Cmp(argc.W(), Immediate(0)); in PushUndefinedWithArgc() 128 __ Mov(temp, Immediate(JSTaggedValue::VALUE_UNDEFINED)); in PushUndefinedWithArgc() 131 __ Sub(argc.W(), argc.W(), Immediate(1)); in PushUndefinedWithArgc()
|
D | asm_interpreter_call.cpp | 87 __ Mov(tempRegister.W(), Immediate(static_cast<int64_t>(JSType::JS_FUNCTION_FIRST))); in AsmInterpEntryDispatch() 90 __ Mov(tempRegister.W(), Immediate(static_cast<int64_t>(JSType::JS_FUNCTION_LAST))); in AsmInterpEntryDispatch() 106 …__ Add(argvRegister, argvRegister, Immediate(NUM_MANDATORY_JSFUNC_ARGS * JSTaggedValue::TaggedType… in AsmInterpEntryDispatch() 113 __ Mov(runtimeId, Immediate(kungfu::RuntimeStubCSigns::ID_ThrowNotCallableException)); in AsmInterpEntryDispatch() 153 __ Cmp(declaredNumArgsRegister, Immediate(argc)); in JSCallCommonEntry() 175 __ Mov(acc, Immediate(JSTaggedValue::VALUE_EXCEPTION)); in JSCallCommonEntry() 270 __ Sub(diffRegister.W(), declaredNumArgsRegister.W(), Immediate(argc)); in JSCallCommonSlowPath() 290 __ Cmp(declaredNumArgsRegister, Immediate(0)); in JSCallCommonSlowPath() 303 __ Cmp(declaredNumArgsRegister, Immediate(1)); in JSCallCommonSlowPath() 499 __ Mov(temp, Immediate(JSTaggedValue::VALUE_UNDEFINED)); in CallNativeWithArgv() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/x64/ |
D | assembler_x64.h | 48 class Immediate { 50 Immediate(int32_t value) : value_(value) {} in Immediate() function 51 ~Immediate() = default; 82 // | prefixs| opcode| modR/M| SIB| Displacement| Immediate| 90 void Pushq(Immediate x); 97 void Movq(Immediate src, Operand dst); 98 void Movq(Immediate src, Register dst); 101 void Addq(Immediate src, Register dst); 103 void Addl(Immediate src, Register dst); 104 void Subq(Immediate src, Register dst); [all …]
|
D | assembler_x64.cpp | 26 void AssemblerX64::Pushq(Immediate x) in Pushq() 57 void AssemblerX64::Addq(Immediate src, Register dst) in Addq() 87 void AssemblerX64::Addl(Immediate src, Register dst) in Addl() 109 void AssemblerX64::Subq(Immediate src, Register dst) in Subq() 139 void AssemblerX64::Subl(Immediate src, Register dst) in Subl() 161 void AssemblerX64::Cmpq(Immediate src, Register dst) in Cmpq() 183 void AssemblerX64::Cmpb(Immediate src, Register dst) in Cmpb() 210 void AssemblerX64::Cmpl(Immediate src, Register dst) in Cmpl() 232 void AssemblerX64::Cmp(Immediate src, Register dst) in Cmp() 281 void AssemblerX64::Movq(Immediate src, Operand dst) in Movq() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/tests/ |
D | assembler_aarch64_test.cpp | 143 __ Mov(Register(X1), Immediate(0xffff000012345678)); in HWTEST_F_L0() 144 __ Mov(Register(X2), Immediate(0x12345678abcd00ef)); in HWTEST_F_L0() 145 __ Mov(Register(X3), Immediate(0x7fff001234)); in HWTEST_F_L0() 146 __ Mov(Register(X4).W(), Immediate(0xff0000ff)); in HWTEST_F_L0() 223 __ Add(Register(SP), Register(SP), Immediate(8)); in HWTEST_F_L0() 224 __ Add(Register(SP), Register(SP), Immediate(-8)); in HWTEST_F_L0() 241 __ Cmp(Register(X1), Immediate(8)); in HWTEST_F_L0() 262 __ Cmp(Register(X1), Immediate(8)); in HWTEST_F_L0() 267 __ Mov(Register(X0), Immediate(0xa)); in HWTEST_F_L0() 271 __ Mov(Register(X0), Immediate(0x2)); in HWTEST_F_L0() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
D | bytecodes.cpp | 491 info.inputs.emplace_back(Immediate(READ_INST_32_0())); in InitBytecodeInfo() 495 info.inputs.emplace_back(Immediate(READ_INST_64_0())); in InitBytecodeInfo() 617 info.inputs.emplace_back(Immediate(imm)); in InitBytecodeInfo() 622 info.inputs.emplace_back(Immediate(imm)); in InitBytecodeInfo() 751 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 759 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 767 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 775 info.inputs.emplace_back(Immediate(length)); in InitBytecodeInfo() 806 info.inputs.emplace_back(Immediate(level)); in InitBytecodeInfo() 807 info.inputs.emplace_back(Immediate(slot)); in InitBytecodeInfo() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/ |
D | assembler_aarch64.h | 117 class Immediate { 119 Immediate(int64_t value) : value_(value) {} in Immediate() function 120 ~Immediate() = default; 159 Operand(Immediate imm) in Operand() 214 inline Immediate GetImmediate() const in GetImmediate() 223 Immediate immediate_; 255 Immediate GetImmediate() const in GetImmediate() 287 Immediate offsetImm_; 310 void Mov(const Register &rd, const Immediate &imm); 352 void Brk(const Immediate &imm);
|
/arkcompiler/runtime_core/tests/cts-generator/cts-template/ |
D | ldai.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
D | ldai.64.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
D | movi.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
D | fldai.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
D | fldai.64.yaml | 18 title: Load accumulator from immediate 20 … Load immediate into accumulator. For short formats immediate is sign extended to operand size.
|
D | movi.64.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
D | fmovi.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
D | fmovi.64.yaml | 18 title: Move immediate-to-register 20 …Move integer immediate into a register. For short formats immediate is sign extended to operand si…
|
D | shri.yaml | 19 title: Two address binary operation with immediate on accumulator 21 … Perform specified binary operation on accumulator and immediate and store result into accumulator. 22 Immediate is sign extended to operand size.
|
D | ori.yaml | 19 title: Two address binary operation with immediate on accumulator 21 … Perform specified binary operation on accumulator and immediate and store result into accumulator. 22 Immediate is sign extended to operand size.
|
D | xori.yaml | 19 title: Two address binary operation with immediate on accumulator 21 … Perform specified binary operation on accumulator and immediate and store result into accumulator. 22 Immediate is sign extended to operand size.
|
D | ashri.yaml | 19 title: Two address binary operation with immediate on accumulator 21 … Perform specified binary operation on accumulator and immediate and store result into accumulator. 22 Immediate is sign extended to operand size.
|
D | shli.yaml | 19 title: Two address binary operation with immediate on accumulator 21 … Perform specified binary operation on accumulator and immediate and store result into accumulator. 22 Immediate is sign extended to operand size.
|
/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/x64/ |
D | optimized_fast_call.cpp | 128 __ Cmp(Immediate(3), actualNumArgsReg); // 3: func new this in OptimizedFastCallAndPushUndefined() 139 __ Cmp(Immediate(4), actualNumArgsReg); // 4: func new this arg0 in OptimizedFastCallAndPushUndefined() 151 __ Cmp(Immediate(5), actualNumArgsReg); // 5: 5 args in OptimizedFastCallAndPushUndefined() 162 __ Cmp(Immediate(6), actualNumArgsReg); // 6: 6 args in OptimizedFastCallAndPushUndefined() 190 __ Cmp(Immediate(3), expectedNumArgsReg); // 3: expectedNumArgsReg <= 3 jump in OptimizedFastCallAndPushUndefined() 226 __ Addq(Immediate(FRAME_SLOT_SIZE), callsiteSp); // 8 : 8 means skip pc to get last callsitesp in JSFastCallWithArgV() 294 __ Addq(Immediate(FRAME_SLOT_SIZE), callsiteSp); // 8 : 8 means skip pc to get last callsitesp in JSFastCallWithArgVAndPushUndefined() 363 __ Cmp(Immediate(3), expectedNumArgsReg); // 3:expectedNumArgsReg <= 3 jump in JSFastCallWithArgVAndPushUndefined()
|
/arkcompiler/runtime_core/docs/ |
D | 2022-08-18-isa-changelog.md | 17 5. We add prefix "wide" to support opcodes which need larger immediate number. 18 6. We adjust the format of some opcodes (about immediate number and accumulator), so that the bytec…
|
/arkcompiler/runtime_core/compiler/optimizer/ir/ |
D | locations.h | 36 DEF(IMMEDIATE, "i") \ 91 return GetKind() == Kind::IMMEDIATE; in IsConstant() 200 return Location(Kind::IMMEDIATE, value); in MakeConstant()
|