#ifndef V8_BASELINE_BASELINE_ASSEMBLER_INL_H_
#define V8_BASELINE_BASELINE_ASSEMBLER_INL_H_
#include "src/baseline/baseline-assembler.h"
#include <type_traits>
#include <unordered_map>
#include "src/codegen/interface-descriptors-inl.h"
#include "src/interpreter/bytecode-register.h"
#include "src/objects/feedback-cell.h"
#include "src/objects/js-function.h"
#include "src/objects/map.h"
#if V8_TARGET_ARCH_X64
#include "src/baseline/x64/baseline-assembler-x64-inl.h"
#elif V8_TARGET_ARCH_ARM64
#include "src/baseline/arm64/baseline-assembler-arm64-inl.h"
#elif V8_TARGET_ARCH_IA32
#include "src/baseline/ia32/baseline-assembler-ia32-inl.h"
#elif V8_TARGET_ARCH_ARM
#include "src/baseline/arm/baseline-assembler-arm-inl.h"
#elif V8_TARGET_ARCH_PPC64
#include "src/baseline/ppc/baseline-assembler-ppc-inl.h"
#elif V8_TARGET_ARCH_S390X
#include "src/baseline/s390/baseline-assembler-s390-inl.h"
#elif V8_TARGET_ARCH_RISCV32 || V8_TARGET_ARCH_RISCV64
#include "src/baseline/riscv/baseline-assembler-riscv-inl.h"
#elif V8_TARGET_ARCH_MIPS64
#include "src/baseline/mips64/baseline-assembler-mips64-inl.h"
#elif V8_TARGET_ARCH_LOONG64
#include "src/baseline/loong64/baseline-assembler-loong64-inl.h"
#else
#error Unsupported target architecture.
#endif
namespace v8 {
namespace internal {
namespace baseline {
#define __ …
void BaselineAssembler::GetCode(LocalIsolate* isolate, CodeDesc* desc) { … }
int BaselineAssembler::pc_offset() const { … }
void BaselineAssembler::CodeEntry() const { … }
void BaselineAssembler::ExceptionHandler() const { … }
void BaselineAssembler::RecordComment(const char* string) { … }
void BaselineAssembler::Trap() { … }
void BaselineAssembler::DebugBreak() { … }
void BaselineAssembler::CallRuntime(Runtime::FunctionId function, int nargs) { … }
void BaselineAssembler::CallBuiltin(Builtin builtin) { … }
void BaselineAssembler::TailCallBuiltin(Builtin builtin) { … }
MemOperand BaselineAssembler::ContextOperand() { … }
MemOperand BaselineAssembler::FunctionOperand() { … }
void BaselineAssembler::LoadMap(Register output, Register value) { … }
void BaselineAssembler::LoadRoot(Register output, RootIndex index) { … }
void BaselineAssembler::LoadNativeContextSlot(Register output, uint32_t index) { … }
void BaselineAssembler::Move(Register output, interpreter::Register source) { … }
void BaselineAssembler::Move(Register output, RootIndex source) { … }
void BaselineAssembler::Move(Register output, Register source) { … }
void BaselineAssembler::Move(Register output, MemOperand operand) { … }
void BaselineAssembler::Move(Register output, Tagged<Smi> value) { … }
void BaselineAssembler::SmiUntag(Register reg) { … }
void BaselineAssembler::SmiUntag(Register output, Register value) { … }
void BaselineAssembler::LoadFixedArrayElement(Register output, Register array,
int32_t index) { … }
void BaselineAssembler::LoadPrototype(Register prototype, Register object) { … }
void BaselineAssembler::LoadContext(Register output) { … }
void BaselineAssembler::LoadFunction(Register output) { … }
void BaselineAssembler::StoreContext(Register context) { … }
void BaselineAssembler::LoadRegister(Register output,
interpreter::Register source) { … }
void BaselineAssembler::StoreRegister(interpreter::Register output,
Register value) { … }
void BaselineAssembler::LoadFeedbackCell(Register output) { … }
template <typename Field>
void BaselineAssembler::DecodeField(Register reg) { … }
EnsureAccumulatorPreservedScope::EnsureAccumulatorPreservedScope(
BaselineAssembler* assembler)
: … { … }
EnsureAccumulatorPreservedScope::~EnsureAccumulatorPreservedScope() { … }
#undef __
}
}
}
#endif