5#ifndef V8_BASELINE_RISCV_BASELINE_COMPILER_RISCV_INL_H_
6#define V8_BASELINE_RISCV_BASELINE_COMPILER_RISCV_INL_H_
24 __ masm()->EnterFrame(StackFrame::BASELINE);
26 int max_frame_size =
bytecode_->max_frame_size();
36 interpreter::Register new_target_or_generator_register =
37 bytecode_->incoming_new_target_or_generator_register();
39 int register_count =
bytecode_->register_count();
41 const int kLoopUnrollSize = 8;
42 const int new_target_index = new_target_or_generator_register.index();
43 const bool has_new_target = new_target_index !=
kMaxInt;
45 DCHECK_LE(new_target_index, register_count);
46 __ masm()->AddWord(sp, sp,
48 for (
int i = 0;
i < new_target_index;
i++) {
54 register_count -= new_target_index + 1;
56 if (register_count < 2 * kLoopUnrollSize) {
59 for (
int i = 0;
i < register_count; ++
i) {
65 for (
int i = 0;
i < register_count; ++
i) {
74 __ masm()->AddWord(t0, sp,
77 __ masm()->Assert(
eq, AbortReason::kUnexpectedStackPointer, t0, Operand(fp));
static constexpr int kFixedFrameSizeFromFp
void CallBuiltin(Args... args)
Handle< BytecodeArray > bytecode_
#define ASM_CODE_COMMENT(asm)
constexpr BuiltinCallJumpMode kFallbackBuiltinCallJumpModeForBaseline
constexpr Register kJavaScriptCallTargetRegister
constexpr Register kJavaScriptCallArgCountRegister
constexpr Register kInterpreterAccumulatorRegister
constexpr int kSystemPointerSize
constexpr Register kContextRegister
constexpr Register kJavaScriptCallNewTargetRegister
constexpr Register kJSFunctionRegister
#define DCHECK_LE(v1, v2)
#define DCHECK_EQ(v1, v2)