chromium/v8/src/baseline/baseline-assembler-inl.h

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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 __

}  // namespace baseline
}  // namespace internal
}  // namespace v8

#endif  // V8_BASELINE_BASELINE_ASSEMBLER_INL_H_