#include "src/base/logging.h"
#include "src/codegen/interface-descriptors-inl.h"
#include "src/common/globals.h"
#include "src/compiler/backend/instruction.h"
#include "src/interpreter/bytecode-flags-and-tokens.h"
#include "src/maglev/maglev-assembler-inl.h"
#include "src/maglev/maglev-assembler.h"
#include "src/maglev/maglev-graph.h"
#include "src/maglev/maglev-ir.h"
#include "src/objects/heap-number.h"
#include "src/objects/instance-type-inl.h"
namespace v8 {
namespace internal {
namespace maglev {
#define __ …
namespace {
void LoadNewAllocationTop(MaglevAssembler* masm, Register new_top,
Register object, int size_in_bytes) { … }
void LoadNewAllocationTop(MaglevAssembler* masm, Register new_top,
Register object, Register size_in_bytes) { … }
template <typename T>
void AllocateRaw(MaglevAssembler* masm, Isolate* isolate,
RegisterSnapshot register_snapshot, Register object,
T size_in_bytes, AllocationType alloc_type,
AllocationAlignment alignment) { … }
}
void MaglevAssembler::Allocate(RegisterSnapshot register_snapshot,
Register object, int size_in_bytes,
AllocationType alloc_type,
AllocationAlignment alignment) { … }
void MaglevAssembler::Allocate(RegisterSnapshot register_snapshot,
Register object, Register size_in_bytes,
AllocationType alloc_type,
AllocationAlignment alignment) { … }
void MaglevAssembler::LoadSingleCharacterString(Register result,
Register char_code,
Register scratch) { … }
void MaglevAssembler::StringFromCharCode(RegisterSnapshot register_snapshot,
Label* char_code_fits_one_byte,
Register result, Register char_code,
Register scratch,
CharCodeMaskMode mask_mode) { … }
void MaglevAssembler::StringCharCodeOrCodePointAt(
BuiltinStringPrototypeCharCodeOrCodePointAt::Mode mode,
RegisterSnapshot& register_snapshot, Register result, Register string,
Register index, Register scratch1, Register scratch2,
Label* result_fits_one_byte) { … }
void MaglevAssembler::TruncateDoubleToInt32(Register dst, DoubleRegister src) { … }
void MaglevAssembler::TryTruncateDoubleToInt32(Register dst, DoubleRegister src,
Label* fail) { … }
void MaglevAssembler::TryTruncateDoubleToUint32(Register dst,
DoubleRegister src,
Label* fail) { … }
void MaglevAssembler::TryChangeFloat64ToIndex(Register result,
DoubleRegister value,
Label* success, Label* fail) { … }
void MaglevAssembler::OSRPrologue(Graph* graph) { … }
void MaglevAssembler::Prologue(Graph* graph) { … }
void MaglevAssembler::MaybeEmitDeoptBuiltinsCall(size_t eager_deopt_count,
Label* eager_deopt_entry,
size_t lazy_deopt_count,
Label* lazy_deopt_entry) { … }
}
}
}