/arkcompiler/ets_runtime/ecmascript/compiler/baseline/ |
H A D | baseline_assembler.h | 48 return (vregId) * FRAME_SLOT_SIZE; in GetVregOffset() 55 return ((3 + numVregs) * FRAME_SLOT_SIZE); // +3: contains numVregs, undefined, callTarget, newTarget in GetSpecialRegisterOffset() 57 return -(5 * FRAME_SLOT_SIZE); // -5: contains frametype, rbp, pc, sp, callsize(jumpSizeAfterCall) in GetSpecialRegisterOffset() 59 return -(6 * FRAME_SLOT_SIZE); // -6: contains frametype, rbp, pc, sp, callsize, env, in GetSpecialRegisterOffset() 61 return -(7 * FRAME_SLOT_SIZE); // -7: contains frametype, rbp, pc, sp, callsize, env, acc, in GetSpecialRegisterOffset() 63 return -(8 * FRAME_SLOT_SIZE); // -8: contains frametype, rbp, pc, sp, callsize, env, acc, thisObj in GetSpecialRegisterOffset() 66 return -(9 * FRAME_SLOT_SIZE); in GetSpecialRegisterOffset() 77 static constexpr int32_t FRAME_SLOT_SIZE = 8; member in panda::ecmascript::kungfu::StackOffsetDescriptor
|
/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/aarch64/ |
H A D | common_call.cpp | 44 __ Stp(frameTypeRegister, Register(X30), MemoryOperand(sp, -2 * FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in PushAsmInterpBridgeFrame() 46 __ Stp(Register(Zero), Register(FP), MemoryOperand(sp, -2 * FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in PushAsmInterpBridgeFrame() 62 __ Ldp(Register(Zero), Register(FP), MemoryOperand(sp, 2 * FRAME_SLOT_SIZE, AddrMode::POSTINDEX)); in PopAsmInterpBridgeFrame() 64 __ Ldp(Register(Zero), Register(X30), MemoryOperand(sp, 2 * FRAME_SLOT_SIZE, AddrMode::POSTINDEX)); in PopAsmInterpBridgeFrame() 79 __ Stp(Register(X19), frameType, MemoryOperand(sp, -2 * FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in PushLeaveFrame() 93 __ Ldp(Register(X19), frameType, MemoryOperand(sp, 2 * FRAME_SLOT_SIZE, AddrMode::POSTINDEX)); in PopLeaveFrame() 110 __ Ldr(op, MemoryOperand(argv, -FRAME_SLOT_SIZE, PREINDEX)); // -8: 8 bytes in PushArgsWithArgv() 111 __ Str(op, MemoryOperand(currentSlot, -FRAME_SLOT_SIZE, PREINDEX)); // -8: 8 bytes in PushArgsWithArgv() 129 __ Ldr(op1, MemoryOperand(argv, -FRAME_SLOT_SIZE, PREINDEX)); in PushArgsWithArgvInPair() 152 __ Ldr(op2, MemoryOperand(argv, -FRAME_SLOT_SIZE, PREINDE in PushArgsWithArgvInPair() [all...] |
H A D | optimized_call.cpp | 74 __ Stp(tmp, frameType, MemoryOperand(sp, -FRAME_SLOT_SIZE * 2, AddrMode::PREINDEX)); in CallRuntime() 75 __ Add(fp, sp, Immediate(2 * FRAME_SLOT_SIZE)); // 2 : 2 means pairs in CallRuntime() 94 __ Add(sp, sp, Immediate(2 * FRAME_SLOT_SIZE)); in CallRuntime() 112 __ Sub(currentSp, currentSp, Immediate(FRAME_SLOT_SIZE)); in IncreaseStackForArguments() 155 __ Ldr(Register(X3), MemoryOperand(tmpArgV, FRAME_SLOT_SIZE)); in JSFunctionEntry() 216 __ Ldr(jsfunc, MemoryOperand(sp, funcSlotOffSet * FRAME_SLOT_SIZE)); in OptimizedCallAndPushArgv() 226 __ Add(argV, sp, Immediate(funcSlotOffSet * FRAME_SLOT_SIZE)); // skip numArgs and argv in OptimizedCallAndPushArgv() 262 __ Str(currentSp, MemoryOperand(sp, FRAME_SLOT_SIZE)); in OptimizedCallAndPushArgv() 342 __ Ldr(temp, MemoryOperand(sp, FRAME_SLOT_SIZE)); // argc in CallBuiltinTrampoline() 394 __ Ldr(temp, MemoryOperand(sp, FRAME_SLOT_SIZE)); // arg in CallBuiltinConstructorStub() [all...] |
H A D | asm_interpreter_call.cpp | 218 __ Str(arg2, MemoryOperand(currentSlotRegister, -FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in JSCallCommonFastPath() 222 __ Str(arg1, MemoryOperand(currentSlotRegister, -FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in JSCallCommonFastPath() 226 __ Str(arg0, MemoryOperand(currentSlotRegister, -FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in JSCallCommonFastPath() 308 __ Str(arg1, MemoryOperand(currentSlotRegister, -FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in JSCallCommonSlowPath() 313 __ Str(arg0, MemoryOperand(currentSlotRegister, -FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in JSCallCommonSlowPath() 343 __ Ldur(defaultRegister, MemoryOperand(argvRegister, -FRAME_SLOT_SIZE)); in GetThisRegsiter() 367 __ Ldur(defaultRegister, MemoryOperand(argvRegister, -2 * FRAME_SLOT_SIZE)); in GetNewTargetRegsiter() 531 __ Str(callTarget, MemoryOperand(currentSlotRegister, -FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in CallNativeWithArgv() 539 __ Stp(glue, temp, MemoryOperand(currentSlotRegister, -2 * FRAME_SLOT_SIZE, AddrMode::PREINDEX)); in CallNativeWithArgv() 556 __ Stp(Register(Zero), frameType, MemoryOperand(Register(SP), -FRAME_SLOT_SIZE * in CallNativeWithArgv() [all...] |
H A D | optimized_fast_call.cpp | 58 __ Ldr(Register(X2), MemoryOperand(tmpArgV, FRAME_SLOT_SIZE));
in OptimizedFastCallEntry() 118 __ Add(__ AvailableRegister4(), sp, Immediate(4 * FRAME_SLOT_SIZE)); // 4 skip fp lr type x19
in OptimizedFastCallAndPushArgv() 174 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in OptimizedFastCallAndPushArgv() 186 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in OptimizedFastCallAndPushArgv() 197 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in OptimizedFastCallAndPushArgv() 284 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in JSFastCallWithArgV() 291 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in JSFastCallWithArgV() 298 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in JSFastCallWithArgV() 305 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in JSFastCallWithArgV() 312 __ Add(argV, argV, Immediate(FRAME_SLOT_SIZE));
in JSFastCallWithArgV() [all...] |
H A D | common_call.h | 35 static constexpr int FRAME_SLOT_SIZE = 8; member in panda::ecmascript::aarch64::CommonCall 62 return 16 + static_cast<int64_t>(argId) * static_cast<int64_t>(FRAME_SLOT_SIZE); in GetStackArgOffSetToFp()
|
/arkcompiler/ets_runtime/ecmascript/compiler/trampoline/x64/ |
H A D | optimized_fast_call.cpp | 52 __ Movq(Operand(r8, FRAME_SLOT_SIZE), rdx); // thisobj
in OptimizedFastCallEntry() 57 __ Addq(FRAME_SLOT_SIZE, rsp); // 8: frame type
in OptimizedFastCallEntry() 116 __ Leaq(Operand(rsp, 8 * FRAME_SLOT_SIZE), argvReg); // 8: skip 8 frames to get argv
in OptimizedFastCallAndPushArgv() 138 __ Addq(FRAME_SLOT_SIZE, argvReg);
in OptimizedFastCallAndPushArgv() 150 __ Addq(FRAME_SLOT_SIZE, argvReg);
in OptimizedFastCallAndPushArgv() 161 __ Addq(FRAME_SLOT_SIZE, argvReg);
in OptimizedFastCallAndPushArgv() 179 __ Movq(Operand(argvReg, actualNumArgsReg, Scale::Times8, -FRAME_SLOT_SIZE), r14); // -8: stack index
in OptimizedFastCallAndPushArgv() 198 __ Movq(Operand(argvReg, expectedNumArgsReg, Scale::Times8, -FRAME_SLOT_SIZE), r14); // -8: stack index
in OptimizedFastCallAndPushArgv() 244 __ Addq(Immediate(FRAME_SLOT_SIZE), callsiteSp); // 8 : 8 means skip pc to get last callsitesp
in JSFastCallWithArgV() 254 __ Addq(FRAME_SLOT_SIZE, arg in JSFastCallWithArgV() [all...] |
H A D | optimized_call.cpp | 65 __ Movq(Operand(rbx, FRAME_SLOT_SIZE), rcx); in JSFunctionEntry() 79 __ Addq(FRAME_SLOT_SIZE, rsp); // 8: frame type in JSFunctionEntry() 128 __ Movq(Operand(rsp, funcSlotOffset * FRAME_SLOT_SIZE), jsFuncReg); // sp + 24 get jsFunc in OptimizedCallAndPushArgv() 138 __ Movl(Operand(rsp, FRAME_SLOT_SIZE), rdx); // argc rdx in OptimizedCallAndPushArgv() 142 __ Addq(funcSlotOffset * FRAME_SLOT_SIZE, argvReg); // skip return addr, argc and agv in OptimizedCallAndPushArgv() 149 __ Leaq(Operand(rsp, FRAME_SLOT_SIZE), rbp); in OptimizedCallAndPushArgv() 171 __ Movq(Operand(argvReg, r14, Scale::Times8, -FRAME_SLOT_SIZE), rbx); // -8: stack index in OptimizedCallAndPushArgv() 192 __ Movq(Operand(argvReg, expectedNumArgsReg, Scale::Times8, -FRAME_SLOT_SIZE), rbx); // -8: stack index in OptimizedCallAndPushArgv() 205 __ Addq(FRAME_SLOT_SIZE, rsp); // skip actualNumArgsReg in OptimizedCallAndPushArgv() 206 __ Addq(FRAME_SLOT_SIZE, rs in OptimizedCallAndPushArgv() [all...] |
H A D | common_call.h | 34 static constexpr int FRAME_SLOT_SIZE = 8; member in panda::ecmascript::x64::CommonCall 277 static constexpr int FRAME_SLOT_SIZE = 8; member in panda::ecmascript::x64::JsFunctionArgsConfigFrameScope 283 assembler_->Leaq(Operand(rsp, FRAME_SLOT_SIZE), rbp); in JsFunctionArgsConfigFrameScope() 294 assembler_->Addq(-5 * FRAME_SLOT_SIZE, rsp); // -5: get r12 r13 r14 rbx in ~JsFunctionArgsConfigFrameScope() 299 assembler_->Addq(FRAME_SLOT_SIZE, rsp); // skip frame type in ~JsFunctionArgsConfigFrameScope() 311 static constexpr int FRAME_SLOT_SIZE = 8; member in panda::ecmascript::x64::OptimizedUnfoldArgVFrameFrameScope 319 assembler_->Leaq(Operand(rsp, 2 * FRAME_SLOT_SIZE), rbp); in OptimizedUnfoldArgVFrameFrameScope() 326 assembler_->Addq(-4 * FRAME_SLOT_SIZE, rsp); // -4: get r12 rbx in ~OptimizedUnfoldArgVFrameFrameScope() 329 assembler_->Addq(2 * FRAME_SLOT_SIZE, rsp); // 2: skip frame type and sp in ~OptimizedUnfoldArgVFrameFrameScope() 341 static constexpr int FRAME_SLOT_SIZE member in panda::ecmascript::x64::OptimizedUnfoldArgVFrameFrame1Scope [all...] |
H A D | common_call.cpp | 37 __ Movq(Operand(argV, argc, Scale::Times8, -FRAME_SLOT_SIZE), arg); // -8: stack index in CopyArgumentWithArgV() 60 __ Movq(Operand(rbp, FRAME_SLOT_SIZE), r13); in GetArgvAtStack() 61 __ Movq(Operand(rbp, 2 * FRAME_SLOT_SIZE), r14); // 2: skip second argv in GetArgvAtStack() 130 __ Leaq(Operand(rsp, FRAME_SLOT_SIZE), rbp); in PushAsmBridgeFrame() 135 __ Addq(FRAME_SLOT_SIZE, rsp); // skip type in PopAsmBridgeFrame()
|
H A D | asm_interpreter_call.cpp | 249 __ Leaq(Operand(rsp, 3 * FRAME_SLOT_SIZE), rbp); // 3: 24 means skip frame type, prevSp and pc in PushAsmInterpEntryFrame() 257 __ Addq(FRAME_SLOT_SIZE, rsp); // 8: skip frame type in PopAsmInterpEntryFrame() 578 __ Movq(Operand(argvRegister, -FRAME_SLOT_SIZE), defaultRegister); // 8: this is just before the argv list in GetThisRegsiter() 608 __ Movq(Operand(argvRegister, -2 * FRAME_SLOT_SIZE), defaultRegister); in GetNewTargetRegsiter() 857 __ Movq(Operand(rsp, numArgs, Times8, 5 * FRAME_SLOT_SIZE), newTarget); in CallNativeWithArgv() 868 __ Leaq(Operand(rsp, numArgs, Times8, 5 * FRAME_SLOT_SIZE), rbp); in CallNativeWithArgv() 909 __ Leaq(Operand(rsp, 5 * FRAME_SLOT_SIZE), rbp); in CallNativeWithArgv() 948 __ Subq(3 * FRAME_SLOT_SIZE, rsp); in CallNativeEntry() 952 __ Subq(2 * FRAME_SLOT_SIZE, r11); in CallNativeEntry() 959 __ Addq(5 * FRAME_SLOT_SIZE, rs in CallNativeEntry() [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/x64/ |
H A D | extended_assembler_x64.h | 27 static constexpr int FRAME_SLOT_SIZE = 8;
member in panda::ecmascript::x64::ExtendedAssembler
|
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/ |
H A D | extend_assembler.h | 28 static constexpr int FRAME_SLOT_SIZE = 8; member in panda::ecmascript::aarch64::ExtendedAssembler
|