#ifndef V8_CODEGEN_X64_ASSEMBLER_X64_INL_H_
#define V8_CODEGEN_X64_ASSEMBLER_X64_INL_H_
#include "src/base/cpu.h"
#include "src/base/memory.h"
#include "src/codegen/flush-instruction-cache.h"
#include "src/codegen/x64/assembler-x64.h"
#include "src/debug/debug.h"
#include "src/objects/objects-inl.h"
namespace v8 {
namespace internal {
bool CpuFeatures::SupportsOptimizer() { … }
void Assembler::emit_rex_64(Register reg, Register rm_reg) { … }
void Assembler::emit_rex_64(XMMRegister reg, Register rm_reg) { … }
void Assembler::emit_rex_64(Register reg, XMMRegister rm_reg) { … }
void Assembler::emit_rex_64(XMMRegister reg, XMMRegister rm_reg) { … }
void Assembler::emit_rex_64(Register reg, Operand op) { … }
void Assembler::emit_rex_64(XMMRegister reg, Operand op) { … }
void Assembler::emit_rex_64(Register rm_reg) { … }
void Assembler::emit_rex_64(Operand op) { … }
void Assembler::emit_rex_32(Register reg, Register rm_reg) { … }
void Assembler::emit_rex_32(Register reg, Operand op) { … }
void Assembler::emit_rex_32(Register rm_reg) { … }
void Assembler::emit_rex_32(Operand op) { … }
void Assembler::emit_optional_rex_32(Register reg, Register rm_reg) { … }
void Assembler::emit_optional_rex_32(Register reg, Operand op) { … }
void Assembler::emit_optional_rex_32(XMMRegister reg, Operand op) { … }
void Assembler::emit_optional_rex_32(XMMRegister reg, XMMRegister base) { … }
void Assembler::emit_optional_rex_32(XMMRegister reg, Register base) { … }
void Assembler::emit_optional_rex_32(Register reg, XMMRegister base) { … }
void Assembler::emit_optional_rex_32(Register rm_reg) { … }
void Assembler::emit_optional_rex_32(XMMRegister rm_reg) { … }
void Assembler::emit_optional_rex_32(Operand op) { … }
void Assembler::emit_optional_rex_8(Register reg) { … }
void Assembler::emit_optional_rex_8(Register reg, Operand op) { … }
void Assembler::emit_vex3_byte1(XMMRegister reg, XMMRegister rm,
LeadingOpcode m) { … }
void Assembler::emit_vex3_byte1(XMMRegister reg, Operand rm, LeadingOpcode m) { … }
void Assembler::emit_vex2_byte1(XMMRegister reg, XMMRegister v, VectorLength l,
SIMDPrefix pp) { … }
void Assembler::emit_vex3_byte2(VexW w, XMMRegister v, VectorLength l,
SIMDPrefix pp) { … }
void Assembler::emit_vex_prefix(XMMRegister reg, XMMRegister vreg,
XMMRegister rm, VectorLength l, SIMDPrefix pp,
LeadingOpcode mm, VexW w) { … }
void Assembler::emit_vex_prefix(Register reg, Register vreg, Register rm,
VectorLength l, SIMDPrefix pp, LeadingOpcode mm,
VexW w) { … }
void Assembler::emit_vex_prefix(XMMRegister reg, XMMRegister vreg, Operand rm,
VectorLength l, SIMDPrefix pp, LeadingOpcode mm,
VexW w) { … }
void Assembler::emit_vex_prefix(Register reg, Register vreg, Operand rm,
VectorLength l, SIMDPrefix pp, LeadingOpcode mm,
VexW w) { … }
Address Assembler::target_address_at(Address pc, Address constant_pool) { … }
void Assembler::set_target_address_at(Address pc, Address constant_pool,
Address target,
ICacheFlushMode icache_flush_mode) { … }
int32_t Assembler::relative_target_offset(Address target, Address pc) { … }
void Assembler::deserialization_set_target_internal_reference_at(
Address pc, Address target, RelocInfo::Mode mode) { … }
void Assembler::deserialization_set_special_target_at(
Address instruction_payload, Tagged<Code> code, Address target) { … }
int Assembler::deserialization_special_target_size(
Address instruction_payload) { … }
Handle<Code> Assembler::code_target_object_handle_at(Address pc) { … }
Handle<HeapObject> Assembler::compressed_embedded_object_handle_at(Address pc) { … }
Builtin Assembler::target_builtin_at(Address pc) { … }
uint32_t Assembler::uint32_constant_at(Address pc, Address constant_pool) { … }
void Assembler::set_uint32_constant_at(Address pc, Address constant_pool,
uint32_t new_constant,
ICacheFlushMode icache_flush_mode) { … }
void WritableRelocInfo::apply(intptr_t delta) { … }
Address RelocInfo::target_address() { … }
Address RelocInfo::target_address_address() { … }
Address RelocInfo::constant_pool_entry_address() { … }
int RelocInfo::target_address_size() { … }
Tagged<HeapObject> RelocInfo::target_object(PtrComprCageBase cage_base) { … }
Handle<HeapObject> RelocInfo::target_object_handle(Assembler* origin) { … }
Address RelocInfo::target_external_reference() { … }
void WritableRelocInfo::set_target_external_reference(
Address target, ICacheFlushMode icache_flush_mode) { … }
Address RelocInfo::target_internal_reference() { … }
Address RelocInfo::target_internal_reference_address() { … }
void WritableRelocInfo::set_target_object(Tagged<HeapObject> target,
ICacheFlushMode icache_flush_mode) { … }
Builtin RelocInfo::target_builtin_at(Assembler* origin) { … }
Address RelocInfo::target_off_heap_target() { … }
}
}
#endif