Index: runtime/vm/assembler_x64.cc |
diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc |
index 0a3f6dcfa91a6fcb76c0bdeb4b34bac9327fffad..00e65c0a588072ea947989637c019909ce19e5db 100644 |
--- a/runtime/vm/assembler_x64.cc |
+++ b/runtime/vm/assembler_x64.cc |
@@ -20,7 +20,6 @@ namespace dart { |
DECLARE_FLAG(bool, check_code_pointer); |
DECLARE_FLAG(bool, inline_alloc); |
- |
Assembler::Assembler(bool use_far_branches) |
: buffer_(), |
prologue_offset_(-1), |
@@ -31,12 +30,10 @@ Assembler::Assembler(bool use_far_branches) |
ASSERT(!use_far_branches); |
} |
- |
void Assembler::InitializeMemoryWithBreakpoints(uword data, intptr_t length) { |
memset(reinterpret_cast<void*>(data), Instr::kBreakPointInstruction, length); |
} |
- |
void Assembler::call(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg); |
@@ -45,7 +42,6 @@ void Assembler::call(Register reg) { |
EmitOperand(2, operand); |
} |
- |
void Assembler::call(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(2, address, REX_NONE); |
@@ -53,7 +49,6 @@ void Assembler::call(const Address& address) { |
EmitOperand(2, address); |
} |
- |
void Assembler::call(Label* label) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
static const int kSize = 5; |
@@ -61,7 +56,6 @@ void Assembler::call(Label* label) { |
EmitLabel(label, kSize); |
} |
- |
void Assembler::LoadNativeEntry(Register dst, |
const ExternalLabel* label, |
Patchability patchable) { |
@@ -70,7 +64,6 @@ void Assembler::LoadNativeEntry(Register dst, |
LoadWordFromPoolOffset(dst, offset - kHeapObjectTag); |
} |
- |
void Assembler::call(const ExternalLabel* label) { |
{ // Encode movq(TMP, Immediate(label->address())), but always as imm64. |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -81,7 +74,6 @@ void Assembler::call(const ExternalLabel* label) { |
call(TMP); |
} |
- |
void Assembler::CallPatchable(const StubEntry& stub_entry) { |
ASSERT(constant_pool_allowed()); |
const Code& target = Code::ZoneHandle(stub_entry.code()); |
@@ -94,7 +86,6 @@ void Assembler::CallPatchable(const StubEntry& stub_entry) { |
ASSERT((buffer_.GetPosition() - call_start) == kCallExternalLabelSize); |
} |
- |
void Assembler::CallWithEquivalence(const StubEntry& stub_entry, |
const Object& equivalence) { |
ASSERT(constant_pool_allowed()); |
@@ -106,7 +97,6 @@ void Assembler::CallWithEquivalence(const StubEntry& stub_entry, |
call(TMP); |
} |
- |
void Assembler::Call(const StubEntry& stub_entry) { |
ASSERT(constant_pool_allowed()); |
const Code& target = Code::ZoneHandle(stub_entry.code()); |
@@ -117,21 +107,18 @@ void Assembler::Call(const StubEntry& stub_entry) { |
call(TMP); |
} |
- |
void Assembler::CallToRuntime() { |
movq(TMP, Address(THR, Thread::call_to_runtime_entry_point_offset())); |
movq(CODE_REG, Address(THR, Thread::call_to_runtime_stub_offset())); |
call(TMP); |
} |
- |
void Assembler::pushq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
EmitUint8(0x50 | (reg & 7)); |
} |
- |
void Assembler::pushq(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(6, address, REX_NONE); |
@@ -139,7 +126,6 @@ void Assembler::pushq(const Address& address) { |
EmitOperand(6, address); |
} |
- |
void Assembler::pushq(const Immediate& imm) { |
if (imm.is_int8()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -155,7 +141,6 @@ void Assembler::pushq(const Immediate& imm) { |
} |
} |
- |
void Assembler::PushImmediate(const Immediate& imm) { |
if (imm.is_int32()) { |
pushq(imm); |
@@ -165,14 +150,12 @@ void Assembler::PushImmediate(const Immediate& imm) { |
} |
} |
- |
void Assembler::popq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
EmitUint8(0x58 | (reg & 7)); |
} |
- |
void Assembler::popq(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(0, address, REX_NONE); |
@@ -180,7 +163,6 @@ void Assembler::popq(const Address& address) { |
EmitOperand(0, address); |
} |
- |
void Assembler::setcc(Condition condition, ByteRegister dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x0F); |
@@ -188,7 +170,6 @@ void Assembler::setcc(Condition condition, ByteRegister dst) { |
EmitUint8(0xC0 + dst); |
} |
- |
void Assembler::movl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -197,7 +178,6 @@ void Assembler::movl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movl(Register dst, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(dst); |
@@ -208,7 +188,6 @@ void Assembler::movl(Register dst, const Immediate& imm) { |
EmitImmediate(imm); |
} |
- |
void Assembler::movl(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_NONE); |
@@ -216,7 +195,6 @@ void Assembler::movl(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movl(const Address& dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(src, dst, REX_NONE); |
@@ -224,13 +202,11 @@ void Assembler::movl(const Address& dst, Register src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::movl(const Address& dst, const Immediate& imm) { |
movl(TMP, imm); |
movl(dst, TMP); |
} |
- |
void Assembler::movzxb(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -240,7 +216,6 @@ void Assembler::movzxb(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movzxb(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -249,7 +224,6 @@ void Assembler::movzxb(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movsxb(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -259,7 +233,6 @@ void Assembler::movsxb(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movsxb(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -268,7 +241,6 @@ void Assembler::movsxb(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movb(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_NONE); |
@@ -276,7 +248,6 @@ void Assembler::movb(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movb(const Address& dst, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(0, dst, REX_NONE); |
@@ -286,7 +257,6 @@ void Assembler::movb(const Address& dst, const Immediate& imm) { |
EmitUint8(imm.value() & 0xFF); |
} |
- |
void Assembler::movb(const Address& dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(src, dst, REX_NONE); |
@@ -294,7 +264,6 @@ void Assembler::movb(const Address& dst, Register src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::movzxw(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -304,7 +273,6 @@ void Assembler::movzxw(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movzxw(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -313,7 +281,6 @@ void Assembler::movzxw(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movsxw(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -323,7 +290,6 @@ void Assembler::movsxw(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movsxw(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -332,12 +298,10 @@ void Assembler::movsxw(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movw(Register dst, const Address& src) { |
FATAL("Use movzxw or movsxw instead."); |
} |
- |
void Assembler::movw(const Address& dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandSizeOverride(); |
@@ -346,7 +310,6 @@ void Assembler::movw(const Address& dst, Register src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::movw(const Address& dst, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandSizeOverride(); |
@@ -357,7 +320,6 @@ void Assembler::movw(const Address& dst, const Immediate& imm) { |
EmitUint8((imm.value() >> 8) & 0xFF); |
} |
- |
void Assembler::movq(Register dst, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
if (imm.is_int32()) { |
@@ -372,7 +334,6 @@ void Assembler::movq(Register dst, const Immediate& imm) { |
EmitImmediate(imm); |
} |
- |
// Use 0x89 encoding (instead of 0x8B encoding), which is expected by gdb64 |
// older than 7.3.1-gg5 when disassembling a function's prologue (movq rbp, rsp) |
// for proper unwinding of Dart frames (use --generate_gdb_symbols and -O0). |
@@ -384,7 +345,6 @@ void Assembler::movq(Register dst, Register src) { |
EmitOperand(src & 7, operand); |
} |
- |
void Assembler::movq(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -392,7 +352,6 @@ void Assembler::movq(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movq(const Address& dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(src, dst, REX_W); |
@@ -400,7 +359,6 @@ void Assembler::movq(const Address& dst, Register src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::movq(const Address& dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -415,7 +373,6 @@ void Assembler::movq(const Address& dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::movsxd(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -424,7 +381,6 @@ void Assembler::movsxd(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movsxd(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -432,14 +388,12 @@ void Assembler::movsxd(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::rep_movsb() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xF3); |
EmitUint8(0xA4); |
} |
- |
void Assembler::leaq(Register dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, src, REX_W); |
@@ -447,7 +401,6 @@ void Assembler::leaq(Register dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::cmovnoq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -457,7 +410,6 @@ void Assembler::cmovnoq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::cmoveq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -467,7 +419,6 @@ void Assembler::cmoveq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::cmovgeq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -477,7 +428,6 @@ void Assembler::cmovgeq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::cmovlessq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -487,7 +437,6 @@ void Assembler::cmovlessq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::movss(XmmRegister dst, const Address& src) { |
ASSERT(dst <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -498,7 +447,6 @@ void Assembler::movss(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movss(const Address& dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -509,7 +457,6 @@ void Assembler::movss(const Address& dst, XmmRegister src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::movss(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -521,7 +468,6 @@ void Assembler::movss(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(src & 7, dst); |
} |
- |
void Assembler::movd(XmmRegister dst, Register src) { |
ASSERT(dst <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -532,7 +478,6 @@ void Assembler::movd(XmmRegister dst, Register src) { |
EmitOperand(dst & 7, Operand(src)); |
} |
- |
void Assembler::movd(Register dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -543,7 +488,6 @@ void Assembler::movd(Register dst, XmmRegister src) { |
EmitOperand(src & 7, Operand(dst)); |
} |
- |
void Assembler::addss(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -555,7 +499,6 @@ void Assembler::addss(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::subss(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -567,7 +510,6 @@ void Assembler::subss(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::mulss(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -579,7 +521,6 @@ void Assembler::mulss(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::divss(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -591,7 +532,6 @@ void Assembler::divss(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::movsd(XmmRegister dst, const Address& src) { |
ASSERT(dst <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -602,7 +542,6 @@ void Assembler::movsd(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movsd(const Address& dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -613,7 +552,6 @@ void Assembler::movsd(const Address& dst, XmmRegister src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::movsd(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -625,7 +563,6 @@ void Assembler::movsd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(src & 7, dst); |
} |
- |
void Assembler::movaps(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -636,7 +573,6 @@ void Assembler::movaps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::movups(XmmRegister dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -645,7 +581,6 @@ void Assembler::movups(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::movups(const Address& dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(src, dst); |
@@ -654,7 +589,6 @@ void Assembler::movups(const Address& dst, XmmRegister src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::addsd(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -666,7 +600,6 @@ void Assembler::addsd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::subsd(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -678,7 +611,6 @@ void Assembler::subsd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::mulsd(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -690,7 +622,6 @@ void Assembler::mulsd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::divsd(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -702,7 +633,6 @@ void Assembler::divsd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::addpl(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x66); |
@@ -712,7 +642,6 @@ void Assembler::addpl(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::subpl(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x66); |
@@ -722,7 +651,6 @@ void Assembler::subpl(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::addps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -731,7 +659,6 @@ void Assembler::addps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::subps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -740,7 +667,6 @@ void Assembler::subps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::divps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -749,7 +675,6 @@ void Assembler::divps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::mulps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -758,7 +683,6 @@ void Assembler::mulps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::minps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -767,7 +691,6 @@ void Assembler::minps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::maxps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -776,7 +699,6 @@ void Assembler::maxps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::andps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -785,7 +707,6 @@ void Assembler::andps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::andps(XmmRegister dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -794,7 +715,6 @@ void Assembler::andps(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::orps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -809,28 +729,24 @@ void Assembler::notps(XmmRegister dst) { |
xorps(dst, Address(TMP, 0)); |
} |
- |
void Assembler::negateps(XmmRegister dst) { |
// { 0x80000000, 0x80000000, 0x80000000, 0x80000000 } |
movq(TMP, Address(THR, Thread::float_negate_address_offset())); |
xorps(dst, Address(TMP, 0)); |
} |
- |
void Assembler::absps(XmmRegister dst) { |
// { 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF } |
movq(TMP, Address(THR, Thread::float_absolute_address_offset())); |
andps(dst, Address(TMP, 0)); |
} |
- |
void Assembler::zerowps(XmmRegister dst) { |
// { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000 } |
movq(TMP, Address(THR, Thread::float_zerow_address_offset())); |
andps(dst, Address(TMP, 0)); |
} |
- |
void Assembler::cmppseq(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -840,7 +756,6 @@ void Assembler::cmppseq(XmmRegister dst, XmmRegister src) { |
EmitUint8(0x0); |
} |
- |
void Assembler::cmppsneq(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -850,7 +765,6 @@ void Assembler::cmppsneq(XmmRegister dst, XmmRegister src) { |
EmitUint8(0x4); |
} |
- |
void Assembler::cmppslt(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -860,7 +774,6 @@ void Assembler::cmppslt(XmmRegister dst, XmmRegister src) { |
EmitUint8(0x1); |
} |
- |
void Assembler::cmppsle(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -870,7 +783,6 @@ void Assembler::cmppsle(XmmRegister dst, XmmRegister src) { |
EmitUint8(0x2); |
} |
- |
void Assembler::cmppsnlt(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -880,7 +792,6 @@ void Assembler::cmppsnlt(XmmRegister dst, XmmRegister src) { |
EmitUint8(0x5); |
} |
- |
void Assembler::cmppsnle(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -890,7 +801,6 @@ void Assembler::cmppsnle(XmmRegister dst, XmmRegister src) { |
EmitUint8(0x6); |
} |
- |
void Assembler::sqrtps(XmmRegister dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, dst); |
@@ -899,7 +809,6 @@ void Assembler::sqrtps(XmmRegister dst) { |
EmitXmmRegisterOperand(dst & 7, dst); |
} |
- |
void Assembler::rsqrtps(XmmRegister dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, dst); |
@@ -908,7 +817,6 @@ void Assembler::rsqrtps(XmmRegister dst) { |
EmitXmmRegisterOperand(dst & 7, dst); |
} |
- |
void Assembler::reciprocalps(XmmRegister dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, dst); |
@@ -917,7 +825,6 @@ void Assembler::reciprocalps(XmmRegister dst) { |
EmitXmmRegisterOperand(dst & 7, dst); |
} |
- |
void Assembler::movhlps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -926,7 +833,6 @@ void Assembler::movhlps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::movlhps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -935,7 +841,6 @@ void Assembler::movlhps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::unpcklps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -944,7 +849,6 @@ void Assembler::unpcklps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::unpckhps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -953,7 +857,6 @@ void Assembler::unpckhps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::unpcklpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x66); |
@@ -963,7 +866,6 @@ void Assembler::unpcklpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::unpckhpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x66); |
@@ -973,7 +875,6 @@ void Assembler::unpckhpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::set1ps(XmmRegister dst, Register tmp1, const Immediate& imm) { |
// Load 32-bit immediate value into tmp1. |
movl(tmp1, imm); |
@@ -983,7 +884,6 @@ void Assembler::set1ps(XmmRegister dst, Register tmp1, const Immediate& imm) { |
shufps(dst, dst, Immediate(0x0)); |
} |
- |
void Assembler::shufps(XmmRegister dst, XmmRegister src, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -994,7 +894,6 @@ void Assembler::shufps(XmmRegister dst, XmmRegister src, const Immediate& imm) { |
EmitUint8(imm.value()); |
} |
- |
void Assembler::addpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1006,14 +905,12 @@ void Assembler::addpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::negatepd(XmmRegister dst) { |
// { 0x8000000000000000LL, 0x8000000000000000LL } |
movq(TMP, Address(THR, Thread::double_negate_address_offset())); |
xorpd(dst, Address(TMP, 0)); |
} |
- |
void Assembler::subpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1025,7 +922,6 @@ void Assembler::subpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::mulpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1037,7 +933,6 @@ void Assembler::mulpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::divpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1049,14 +944,12 @@ void Assembler::divpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::abspd(XmmRegister dst) { |
// { 0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL } |
movq(TMP, Address(THR, Thread::double_abs_address_offset())); |
andpd(dst, Address(TMP, 0)); |
} |
- |
void Assembler::minpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1068,7 +961,6 @@ void Assembler::minpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::maxpd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1080,7 +972,6 @@ void Assembler::maxpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::sqrtpd(XmmRegister dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(dst <= XMM15); |
@@ -1091,7 +982,6 @@ void Assembler::sqrtpd(XmmRegister dst) { |
EmitXmmRegisterOperand(dst & 7, dst); |
} |
- |
void Assembler::cvtps2pd(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1102,7 +992,6 @@ void Assembler::cvtps2pd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::cvtpd2ps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(src <= XMM15); |
@@ -1114,7 +1003,6 @@ void Assembler::cvtpd2ps(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::shufpd(XmmRegister dst, XmmRegister src, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x66); |
@@ -1126,7 +1014,6 @@ void Assembler::shufpd(XmmRegister dst, XmmRegister src, const Immediate& imm) { |
EmitUint8(imm.value()); |
} |
- |
void Assembler::comisd(XmmRegister a, XmmRegister b) { |
ASSERT(a <= XMM15); |
ASSERT(b <= XMM15); |
@@ -1138,7 +1025,6 @@ void Assembler::comisd(XmmRegister a, XmmRegister b) { |
EmitXmmRegisterOperand(a & 7, b); |
} |
- |
void Assembler::movmskpd(Register dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1149,7 +1035,6 @@ void Assembler::movmskpd(Register dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::movmskps(Register dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1159,7 +1044,6 @@ void Assembler::movmskps(Register dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::sqrtsd(XmmRegister dst, XmmRegister src) { |
ASSERT(dst <= XMM15); |
ASSERT(src <= XMM15); |
@@ -1171,7 +1055,6 @@ void Assembler::sqrtsd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::xorpd(XmmRegister dst, const Address& src) { |
ASSERT(dst <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1182,7 +1065,6 @@ void Assembler::xorpd(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::xorpd(XmmRegister dst, XmmRegister src) { |
ASSERT(dst <= XMM15); |
ASSERT(src <= XMM15); |
@@ -1194,7 +1076,6 @@ void Assembler::xorpd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::xorps(XmmRegister dst, const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -1203,7 +1084,6 @@ void Assembler::xorps(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::xorps(XmmRegister dst, XmmRegister src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitREX_RB(dst, src); |
@@ -1222,7 +1102,6 @@ void Assembler::andpd(XmmRegister dst, const Address& src) { |
EmitOperand(dst & 7, src); |
} |
- |
void Assembler::cvtsi2sdq(XmmRegister dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(dst <= XMM15); |
@@ -1234,7 +1113,6 @@ void Assembler::cvtsi2sdq(XmmRegister dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::cvtsi2sdl(XmmRegister dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(dst <= XMM15); |
@@ -1246,7 +1124,6 @@ void Assembler::cvtsi2sdl(XmmRegister dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::cvttsd2siq(Register dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1258,7 +1135,6 @@ void Assembler::cvttsd2siq(Register dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::cvtss2sd(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -1270,7 +1146,6 @@ void Assembler::cvtss2sd(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::cvtsd2ss(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -1282,7 +1157,6 @@ void Assembler::cvtsd2ss(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::pxor(XmmRegister dst, XmmRegister src) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -1294,7 +1168,6 @@ void Assembler::pxor(XmmRegister dst, XmmRegister src) { |
EmitXmmRegisterOperand(dst & 7, src); |
} |
- |
void Assembler::roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode) { |
ASSERT(src <= XMM15); |
ASSERT(dst <= XMM15); |
@@ -1309,28 +1182,24 @@ void Assembler::roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode) { |
EmitUint8(static_cast<uint8_t>(mode) | 0x8); |
} |
- |
void Assembler::fldl(const Address& src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xDD); |
EmitOperand(0, src); |
} |
- |
void Assembler::fstpl(const Address& dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xDD); |
EmitOperand(3, dst); |
} |
- |
void Assembler::fincstp() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xD9); |
EmitUint8(0xF7); |
} |
- |
void Assembler::ffree(intptr_t value) { |
ASSERT(value < 7); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1338,21 +1207,18 @@ void Assembler::ffree(intptr_t value) { |
EmitUint8(0xC0 + value); |
} |
- |
void Assembler::fsin() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xD9); |
EmitUint8(0xFE); |
} |
- |
void Assembler::fcos() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xD9); |
EmitUint8(0xFF); |
} |
- |
void Assembler::xchgl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1361,7 +1227,6 @@ void Assembler::xchgl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::xchgq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1370,7 +1235,6 @@ void Assembler::xchgq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::cmpb(const Address& address, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(7, address, REX_NONE); |
@@ -1380,7 +1244,6 @@ void Assembler::cmpb(const Address& address, const Immediate& imm) { |
EmitUint8(imm.value() & 0xFF); |
} |
- |
void Assembler::cmpw(Register reg, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandSizeOverride(); |
@@ -1389,7 +1252,6 @@ void Assembler::cmpw(Register reg, const Address& address) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::cmpw(const Address& address, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandSizeOverride(); |
@@ -1400,14 +1262,12 @@ void Assembler::cmpw(const Address& address, const Immediate& imm) { |
EmitUint8((imm.value() >> 8) & 0xFF); |
} |
- |
void Assembler::cmpl(Register reg, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
EmitComplex(7, Operand(reg), imm); |
} |
- |
void Assembler::cmpl(Register reg0, Register reg1) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg1); |
@@ -1416,7 +1276,6 @@ void Assembler::cmpl(Register reg0, Register reg1) { |
EmitOperand(reg0 & 7, operand); |
} |
- |
void Assembler::cmpl(Register reg, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_NONE); |
@@ -1424,7 +1283,6 @@ void Assembler::cmpl(Register reg, const Address& address) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::cmpl(const Address& address, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(address); |
@@ -1432,7 +1290,6 @@ void Assembler::cmpl(const Address& address, const Immediate& imm) { |
EmitComplex(7, operand, imm); |
} |
- |
void Assembler::cmpq(const Address& address, Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_W); |
@@ -1440,7 +1297,6 @@ void Assembler::cmpq(const Address& address, Register reg) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::cmpq(const Address& address, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1453,7 +1309,6 @@ void Assembler::cmpq(const Address& address, const Immediate& imm) { |
} |
} |
- |
void Assembler::cmpq(Register reg, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1466,7 +1321,6 @@ void Assembler::cmpq(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::cmpq(Register reg0, Register reg1) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg1); |
@@ -1475,7 +1329,6 @@ void Assembler::cmpq(Register reg0, Register reg1) { |
EmitOperand(reg0 & 7, operand); |
} |
- |
void Assembler::cmpq(Register reg, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_W); |
@@ -1483,7 +1336,6 @@ void Assembler::cmpq(Register reg, const Address& address) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::CompareImmediate(Register reg, const Immediate& imm) { |
if (imm.is_int32()) { |
cmpq(reg, imm); |
@@ -1494,7 +1346,6 @@ void Assembler::CompareImmediate(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::CompareImmediate(const Address& address, const Immediate& imm) { |
if (imm.is_int32()) { |
cmpq(address, imm); |
@@ -1504,7 +1355,6 @@ void Assembler::CompareImmediate(const Address& address, const Immediate& imm) { |
} |
} |
- |
void Assembler::testl(Register reg1, Register reg2) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg2); |
@@ -1513,7 +1363,6 @@ void Assembler::testl(Register reg1, Register reg2) { |
EmitOperand(reg1 & 7, operand); |
} |
- |
void Assembler::testl(Register reg, const Immediate& imm) { |
// TODO(kasperl): Deal with registers r8-r15 using the short |
// encoding form of the immediate? |
@@ -1545,7 +1394,6 @@ void Assembler::testl(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::testb(const Address& address, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(0, address, REX_NONE); |
@@ -1555,7 +1403,6 @@ void Assembler::testb(const Address& address, const Immediate& imm) { |
EmitUint8(imm.value() & 0xFF); |
} |
- |
void Assembler::testq(Register reg1, Register reg2) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg2); |
@@ -1564,7 +1411,6 @@ void Assembler::testq(Register reg1, Register reg2) { |
EmitOperand(reg1 & 7, operand); |
} |
- |
void Assembler::testq(Register reg, const Immediate& imm) { |
// TODO(kasperl): Deal with registers r8-r15 using the short |
// encoding form of the immediate? |
@@ -1594,7 +1440,6 @@ void Assembler::testq(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::TestImmediate(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
testq(dst, imm); |
@@ -1605,7 +1450,6 @@ void Assembler::TestImmediate(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::andl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1614,14 +1458,12 @@ void Assembler::andl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::andl(Register dst, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(dst, REX_NONE); |
EmitComplex(4, Operand(dst), imm); |
} |
- |
void Assembler::orl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1630,14 +1472,12 @@ void Assembler::orl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::orl(Register dst, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(dst, REX_NONE); |
EmitComplex(1, Operand(dst), imm); |
} |
- |
void Assembler::orl(const Address& address, Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_NONE); |
@@ -1645,7 +1485,6 @@ void Assembler::orl(const Address& address, Register reg) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::xorl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1654,7 +1493,6 @@ void Assembler::xorl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::andq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1663,7 +1501,6 @@ void Assembler::andq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::andq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -1671,7 +1508,6 @@ void Assembler::andq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::andq(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1684,7 +1520,6 @@ void Assembler::andq(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::AndImmediate(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
andq(dst, imm); |
@@ -1695,7 +1530,6 @@ void Assembler::AndImmediate(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::orq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1704,7 +1538,6 @@ void Assembler::orq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::orq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -1712,7 +1545,6 @@ void Assembler::orq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::orq(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1725,7 +1557,6 @@ void Assembler::orq(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::OrImmediate(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
orq(dst, imm); |
@@ -1736,7 +1567,6 @@ void Assembler::OrImmediate(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::xorq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1745,7 +1575,6 @@ void Assembler::xorq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::xorq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -1753,7 +1582,6 @@ void Assembler::xorq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::xorq(const Address& dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(src, dst, REX_W); |
@@ -1761,7 +1589,6 @@ void Assembler::xorq(const Address& dst, Register src) { |
EmitOperand(src & 7, dst); |
} |
- |
void Assembler::xorq(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1774,7 +1601,6 @@ void Assembler::xorq(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::XorImmediate(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
xorq(dst, imm); |
@@ -1785,7 +1611,6 @@ void Assembler::XorImmediate(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::addl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1794,7 +1619,6 @@ void Assembler::addl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::addl(Register dst, const Immediate& imm) { |
ASSERT(imm.is_int32()); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1802,7 +1626,6 @@ void Assembler::addl(Register dst, const Immediate& imm) { |
EmitComplex(0, Operand(dst), imm); |
} |
- |
void Assembler::addl(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_NONE); |
@@ -1810,7 +1633,6 @@ void Assembler::addl(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::addl(const Address& address, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(src, address, REX_NONE); |
@@ -1818,7 +1640,6 @@ void Assembler::addl(const Address& address, Register src) { |
EmitOperand(src & 7, address); |
} |
- |
void Assembler::adcl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1827,7 +1648,6 @@ void Assembler::adcl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::adcl(Register dst, const Immediate& imm) { |
ASSERT(imm.is_int32()); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1835,7 +1655,6 @@ void Assembler::adcl(Register dst, const Immediate& imm) { |
EmitComplex(2, Operand(dst), imm); |
} |
- |
void Assembler::adcl(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_NONE); |
@@ -1843,7 +1662,6 @@ void Assembler::adcl(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::addq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1852,7 +1670,6 @@ void Assembler::addq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::addq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -1860,7 +1677,6 @@ void Assembler::addq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::addq(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1873,7 +1689,6 @@ void Assembler::addq(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::addq(const Address& address, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1885,7 +1700,6 @@ void Assembler::addq(const Address& address, const Immediate& imm) { |
} |
} |
- |
void Assembler::addq(const Address& address, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(src, address, REX_W); |
@@ -1893,7 +1707,6 @@ void Assembler::addq(const Address& address, Register src) { |
EmitOperand(src & 7, address); |
} |
- |
void Assembler::adcq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1902,7 +1715,6 @@ void Assembler::adcq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::adcq(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1915,7 +1727,6 @@ void Assembler::adcq(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::adcq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -1923,7 +1734,6 @@ void Assembler::adcq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::subl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1932,7 +1742,6 @@ void Assembler::subl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::subl(Register dst, const Immediate& imm) { |
ASSERT(imm.is_int32()); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1940,7 +1749,6 @@ void Assembler::subl(Register dst, const Immediate& imm) { |
EmitComplex(3, Operand(dst), imm); |
} |
- |
void Assembler::subl(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_NONE); |
@@ -1948,7 +1756,6 @@ void Assembler::subl(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::sbbl(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -1957,7 +1764,6 @@ void Assembler::sbbl(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::sbbl(Register dst, const Immediate& imm) { |
ASSERT(imm.is_int32()); |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -1965,7 +1771,6 @@ void Assembler::sbbl(Register dst, const Immediate& imm) { |
EmitComplex(3, Operand(dst), imm); |
} |
- |
void Assembler::sbbl(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_NONE); |
@@ -1973,20 +1778,17 @@ void Assembler::sbbl(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::cdq() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x99); |
} |
- |
void Assembler::cqo() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(RAX, REX_W); |
EmitUint8(0x99); |
} |
- |
void Assembler::idivl(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
@@ -1994,7 +1796,6 @@ void Assembler::idivl(Register reg) { |
EmitOperand(7, Operand(reg)); |
} |
- |
void Assembler::divl(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
@@ -2002,7 +1803,6 @@ void Assembler::divl(Register reg) { |
EmitOperand(6, Operand(reg)); |
} |
- |
void Assembler::idivq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_W); |
@@ -2010,7 +1810,6 @@ void Assembler::idivq(Register reg) { |
EmitOperand(7, Operand(reg)); |
} |
- |
void Assembler::divq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_W); |
@@ -2018,7 +1817,6 @@ void Assembler::divq(Register reg) { |
EmitOperand(6, Operand(reg)); |
} |
- |
void Assembler::imull(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -2028,7 +1826,6 @@ void Assembler::imull(Register dst, Register src) { |
EmitOperand(dst & 7, Operand(src)); |
} |
- |
void Assembler::imull(Register reg, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg); |
@@ -2038,7 +1835,6 @@ void Assembler::imull(Register reg, const Immediate& imm) { |
EmitImmediate(imm); |
} |
- |
void Assembler::mull(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
@@ -2046,7 +1842,6 @@ void Assembler::mull(Register reg) { |
EmitOperand(4, Operand(reg)); |
} |
- |
void Assembler::imulq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -2056,7 +1851,6 @@ void Assembler::imulq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::imulq(Register reg, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -2072,7 +1866,6 @@ void Assembler::imulq(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::MulImmediate(Register reg, const Immediate& imm) { |
if (imm.is_int32()) { |
imulq(reg, imm); |
@@ -2083,7 +1876,6 @@ void Assembler::MulImmediate(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::imulq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -2092,7 +1884,6 @@ void Assembler::imulq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::mulq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_W); |
@@ -2100,7 +1891,6 @@ void Assembler::mulq(Register reg) { |
EmitOperand(4, Operand(reg)); |
} |
- |
void Assembler::subq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -2109,7 +1899,6 @@ void Assembler::subq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::subq(Register reg, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -2122,7 +1911,6 @@ void Assembler::subq(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::subq(Register reg, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_W); |
@@ -2130,7 +1918,6 @@ void Assembler::subq(Register reg, const Address& address) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::subq(const Address& address, Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_W); |
@@ -2138,7 +1925,6 @@ void Assembler::subq(const Address& address, Register reg) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::subq(const Address& address, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -2150,7 +1936,6 @@ void Assembler::subq(const Address& address, const Immediate& imm) { |
} |
} |
- |
void Assembler::sbbq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -2159,7 +1944,6 @@ void Assembler::sbbq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::sbbq(Register dst, const Immediate& imm) { |
if (imm.is_int32()) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -2172,7 +1956,6 @@ void Assembler::sbbq(Register dst, const Immediate& imm) { |
} |
} |
- |
void Assembler::sbbq(Register dst, const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(dst, address, REX_W); |
@@ -2180,37 +1963,30 @@ void Assembler::sbbq(Register dst, const Address& address) { |
EmitOperand(dst & 7, address); |
} |
- |
void Assembler::shll(Register reg, const Immediate& imm) { |
EmitGenericShift(false, 4, reg, imm); |
} |
- |
void Assembler::shll(Register operand, Register shifter) { |
EmitGenericShift(false, 4, operand, shifter); |
} |
- |
void Assembler::shrl(Register reg, const Immediate& imm) { |
EmitGenericShift(false, 5, reg, imm); |
} |
- |
void Assembler::shrl(Register operand, Register shifter) { |
EmitGenericShift(false, 5, operand, shifter); |
} |
- |
void Assembler::sarl(Register reg, const Immediate& imm) { |
EmitGenericShift(false, 7, reg, imm); |
} |
- |
void Assembler::sarl(Register operand, Register shifter) { |
EmitGenericShift(false, 7, operand, shifter); |
} |
- |
void Assembler::shldl(Register dst, Register src, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(imm.is_int8()); |
@@ -2222,37 +1998,30 @@ void Assembler::shldl(Register dst, Register src, const Immediate& imm) { |
EmitUint8(imm.value() & 0xFF); |
} |
- |
void Assembler::shlq(Register reg, const Immediate& imm) { |
EmitGenericShift(true, 4, reg, imm); |
} |
- |
void Assembler::shlq(Register operand, Register shifter) { |
EmitGenericShift(true, 4, operand, shifter); |
} |
- |
void Assembler::shrq(Register reg, const Immediate& imm) { |
EmitGenericShift(true, 5, reg, imm); |
} |
- |
void Assembler::shrq(Register operand, Register shifter) { |
EmitGenericShift(true, 5, operand, shifter); |
} |
- |
void Assembler::sarq(Register reg, const Immediate& imm) { |
EmitGenericShift(true, 7, reg, imm); |
} |
- |
void Assembler::sarq(Register operand, Register shifter) { |
EmitGenericShift(true, 7, operand, shifter); |
} |
- |
void Assembler::shldq(Register dst, Register src, const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(imm.is_int8()); |
@@ -2264,7 +2033,6 @@ void Assembler::shldq(Register dst, Register src, const Immediate& imm) { |
EmitUint8(imm.value() & 0xFF); |
} |
- |
void Assembler::shldq(Register dst, Register src, Register shifter) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(shifter == RCX); |
@@ -2275,7 +2043,6 @@ void Assembler::shldq(Register dst, Register src, Register shifter) { |
EmitOperand(src & 7, operand); |
} |
- |
void Assembler::shrdq(Register dst, Register src, Register shifter) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
ASSERT(shifter == RCX); |
@@ -2286,7 +2053,6 @@ void Assembler::shrdq(Register dst, Register src, Register shifter) { |
EmitOperand(src & 7, operand); |
} |
- |
void Assembler::incl(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(address); |
@@ -2295,7 +2061,6 @@ void Assembler::incl(const Address& address) { |
EmitOperand(0, operand); |
} |
- |
void Assembler::decl(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(address); |
@@ -2304,7 +2069,6 @@ void Assembler::decl(const Address& address) { |
EmitOperand(1, operand); |
} |
- |
void Assembler::incq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg); |
@@ -2313,7 +2077,6 @@ void Assembler::incq(Register reg) { |
EmitOperand(0, operand); |
} |
- |
void Assembler::incq(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(address); |
@@ -2322,7 +2085,6 @@ void Assembler::incq(const Address& address) { |
EmitOperand(0, operand); |
} |
- |
void Assembler::decq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg); |
@@ -2331,7 +2093,6 @@ void Assembler::decq(Register reg) { |
EmitOperand(1, operand); |
} |
- |
void Assembler::decq(const Address& address) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(address); |
@@ -2340,7 +2101,6 @@ void Assembler::decq(const Address& address) { |
EmitOperand(1, operand); |
} |
- |
void Assembler::negl(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
@@ -2348,7 +2108,6 @@ void Assembler::negl(Register reg) { |
EmitOperand(3, Operand(reg)); |
} |
- |
void Assembler::negq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_W); |
@@ -2356,7 +2115,6 @@ void Assembler::negq(Register reg) { |
EmitOperand(3, Operand(reg)); |
} |
- |
void Assembler::notl(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_NONE); |
@@ -2364,7 +2122,6 @@ void Assembler::notl(Register reg) { |
EmitUint8(0xD0 | (reg & 7)); |
} |
- |
void Assembler::notq(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitRegisterREX(reg, REX_W); |
@@ -2372,7 +2129,6 @@ void Assembler::notq(Register reg) { |
EmitUint8(0xD0 | (reg & 7)); |
} |
- |
void Assembler::bsrq(Register dst, Register src) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(src); |
@@ -2382,7 +2138,6 @@ void Assembler::bsrq(Register dst, Register src) { |
EmitOperand(dst & 7, operand); |
} |
- |
void Assembler::btq(Register base, Register offset) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(base); |
@@ -2392,7 +2147,6 @@ void Assembler::btq(Register base, Register offset) { |
EmitOperand(offset & 7, operand); |
} |
- |
void Assembler::enter(const Immediate& imm) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xC8); |
@@ -2402,19 +2156,16 @@ void Assembler::enter(const Immediate& imm) { |
EmitUint8(0x00); |
} |
- |
void Assembler::leave() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xC9); |
} |
- |
void Assembler::ret() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xC3); |
} |
- |
void Assembler::nop(int size) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
// There are nops up to size 15, but for now just provide up to size 8. |
@@ -2477,19 +2228,16 @@ void Assembler::nop(int size) { |
} |
} |
- |
void Assembler::int3() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xCC); |
} |
- |
void Assembler::hlt() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xF4); |
} |
- |
void Assembler::j(Condition condition, Label* label, bool near) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
if (label->IsBound()) { |
@@ -2515,7 +2263,6 @@ void Assembler::j(Condition condition, Label* label, bool near) { |
} |
} |
- |
void Assembler::J(Condition condition, |
const StubEntry& stub_entry, |
Register pp) { |
@@ -2526,7 +2273,6 @@ void Assembler::J(Condition condition, |
Bind(&no_jump); |
} |
- |
void Assembler::jmp(Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
Operand operand(reg); |
@@ -2535,7 +2281,6 @@ void Assembler::jmp(Register reg) { |
EmitOperand(4, operand); |
} |
- |
void Assembler::jmp(const Address& dst) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(4, dst, REX_NONE); |
@@ -2543,7 +2288,6 @@ void Assembler::jmp(const Address& dst) { |
EmitOperand(4, dst); |
} |
- |
void Assembler::jmp(Label* label, bool near) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
if (label->IsBound()) { |
@@ -2567,7 +2311,6 @@ void Assembler::jmp(Label* label, bool near) { |
} |
} |
- |
void Assembler::jmp(const ExternalLabel* label) { |
{ // Encode movq(TMP, Immediate(label->address())), but always as imm64. |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
@@ -2578,7 +2321,6 @@ void Assembler::jmp(const ExternalLabel* label) { |
jmp(TMP); |
} |
- |
void Assembler::JmpPatchable(const StubEntry& stub_entry, Register pp) { |
ASSERT((pp != PP) || constant_pool_allowed()); |
const Code& target = Code::ZoneHandle(stub_entry.code()); |
@@ -2589,7 +2331,6 @@ void Assembler::JmpPatchable(const StubEntry& stub_entry, Register pp) { |
jmp(TMP); |
} |
- |
void Assembler::Jmp(const StubEntry& stub_entry, Register pp) { |
ASSERT((pp != PP) || constant_pool_allowed()); |
const Code& target = Code::ZoneHandle(stub_entry.code()); |
@@ -2600,13 +2341,11 @@ void Assembler::Jmp(const StubEntry& stub_entry, Register pp) { |
jmp(TMP); |
} |
- |
void Assembler::lock() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0xF0); |
} |
- |
void Assembler::cmpxchgl(const Address& address, Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_NONE); |
@@ -2615,7 +2354,6 @@ void Assembler::cmpxchgl(const Address& address, Register reg) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::cmpxchgq(const Address& address, Register reg) { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitOperandREX(reg, address, REX_W); |
@@ -2624,31 +2362,26 @@ void Assembler::cmpxchgq(const Address& address, Register reg) { |
EmitOperand(reg & 7, address); |
} |
- |
void Assembler::cpuid() { |
AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
EmitUint8(0x0F); |
EmitUint8(0xA2); |
} |
- |
void Assembler::CompareRegisters(Register a, Register b) { |
cmpq(a, b); |
} |
- |
void Assembler::MoveRegister(Register to, Register from) { |
if (to != from) { |
movq(to, from); |
} |
} |
- |
void Assembler::PopRegister(Register r) { |
popq(r); |
} |
- |
void Assembler::AddImmediate(Register reg, const Immediate& imm) { |
const int64_t value = imm.value(); |
if (value == 0) { |
@@ -2671,7 +2404,6 @@ void Assembler::AddImmediate(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::AddImmediate(const Address& address, const Immediate& imm) { |
const int64_t value = imm.value(); |
if (value == 0) { |
@@ -2693,7 +2425,6 @@ void Assembler::AddImmediate(const Address& address, const Immediate& imm) { |
} |
} |
- |
void Assembler::SubImmediate(Register reg, const Immediate& imm) { |
const int64_t value = imm.value(); |
if (value == 0) { |
@@ -2716,7 +2447,6 @@ void Assembler::SubImmediate(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::SubImmediate(const Address& address, const Immediate& imm) { |
const int64_t value = imm.value(); |
if (value == 0) { |
@@ -2738,7 +2468,6 @@ void Assembler::SubImmediate(const Address& address, const Immediate& imm) { |
} |
} |
- |
void Assembler::Drop(intptr_t stack_elements, Register tmp) { |
ASSERT(stack_elements >= 0); |
if (stack_elements <= 4) { |
@@ -2750,7 +2479,6 @@ void Assembler::Drop(intptr_t stack_elements, Register tmp) { |
addq(RSP, Immediate(stack_elements * kWordSize)); |
} |
- |
bool Assembler::CanLoadFromObjectPool(const Object& object) const { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
@@ -2771,7 +2499,6 @@ bool Assembler::CanLoadFromObjectPool(const Object& object) const { |
return true; |
} |
- |
void Assembler::LoadWordFromPoolOffset(Register dst, int32_t offset) { |
ASSERT(constant_pool_allowed()); |
ASSERT(dst != PP); |
@@ -2780,12 +2507,10 @@ void Assembler::LoadWordFromPoolOffset(Register dst, int32_t offset) { |
movq(dst, Address::AddressBaseImm32(PP, offset)); |
} |
- |
void Assembler::LoadIsolate(Register dst) { |
movq(dst, Address(THR, Thread::isolate_offset())); |
} |
- |
void Assembler::LoadObjectHelper(Register dst, |
const Object& object, |
bool is_unique) { |
@@ -2804,7 +2529,6 @@ void Assembler::LoadObjectHelper(Register dst, |
} |
} |
- |
void Assembler::LoadFunctionFromCalleePool(Register dst, |
const Function& function, |
Register new_pp) { |
@@ -2815,17 +2539,14 @@ void Assembler::LoadFunctionFromCalleePool(Register dst, |
movq(dst, Address::AddressBaseImm32(new_pp, offset - kHeapObjectTag)); |
} |
- |
void Assembler::LoadObject(Register dst, const Object& object) { |
LoadObjectHelper(dst, object, false); |
} |
- |
void Assembler::LoadUniqueObject(Register dst, const Object& object) { |
LoadObjectHelper(dst, object, true); |
} |
- |
void Assembler::StoreObject(const Address& dst, const Object& object) { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
@@ -2841,7 +2562,6 @@ void Assembler::StoreObject(const Address& dst, const Object& object) { |
} |
} |
- |
void Assembler::PushObject(const Object& object) { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
@@ -2856,7 +2576,6 @@ void Assembler::PushObject(const Object& object) { |
} |
} |
- |
void Assembler::CompareObject(Register reg, const Object& object) { |
ASSERT(!object.IsICData() || ICData::Cast(object).IsOriginal()); |
ASSERT(!object.IsField() || Field::Cast(object).IsOriginal()); |
@@ -2872,12 +2591,10 @@ void Assembler::CompareObject(Register reg, const Object& object) { |
} |
} |
- |
intptr_t Assembler::FindImmediate(int64_t imm) { |
return object_pool_wrapper_.FindImmediate(imm); |
} |
- |
void Assembler::LoadImmediate(Register reg, const Immediate& imm) { |
if (imm.is_int32() || !constant_pool_allowed()) { |
movq(reg, imm); |
@@ -2887,7 +2604,6 @@ void Assembler::LoadImmediate(Register reg, const Immediate& imm) { |
} |
} |
- |
void Assembler::MoveImmediate(const Address& dst, const Immediate& imm) { |
if (imm.is_int32()) { |
movq(dst, imm); |
@@ -2897,7 +2613,6 @@ void Assembler::MoveImmediate(const Address& dst, const Immediate& imm) { |
} |
} |
- |
// Destroys the value register. |
void Assembler::StoreIntoObjectFilterNoSmi(Register object, |
Register value, |
@@ -2917,7 +2632,6 @@ void Assembler::StoreIntoObjectFilterNoSmi(Register object, |
j(NOT_ZERO, no_update, Assembler::kNearJump); |
} |
- |
// Destroys the value register. |
void Assembler::StoreIntoObjectFilter(Register object, |
Register value, |
@@ -2937,7 +2651,6 @@ void Assembler::StoreIntoObjectFilter(Register object, |
j(NOT_ZERO, no_update, Assembler::kNearJump); |
} |
- |
void Assembler::StoreIntoObject(Register object, |
const Address& dest, |
Register value, |
@@ -2965,7 +2678,6 @@ void Assembler::StoreIntoObject(Register object, |
Bind(&done); |
} |
- |
void Assembler::StoreIntoObjectNoBarrier(Register object, |
const Address& dest, |
Register value) { |
@@ -2981,7 +2693,6 @@ void Assembler::StoreIntoObjectNoBarrier(Register object, |
// No store buffer update. |
} |
- |
void Assembler::StoreIntoObjectNoBarrier(Register object, |
const Address& dest, |
const Object& value) { |
@@ -2990,7 +2701,6 @@ void Assembler::StoreIntoObjectNoBarrier(Register object, |
StoreObject(dest, value); |
} |
- |
void Assembler::StoreIntoSmiField(const Address& dest, Register value) { |
#if defined(DEBUG) |
Label done; |
@@ -3002,13 +2712,11 @@ void Assembler::StoreIntoSmiField(const Address& dest, Register value) { |
movq(dest, value); |
} |
- |
void Assembler::ZeroInitSmiField(const Address& dest) { |
Immediate zero(Smi::RawValue(0)); |
movq(dest, zero); |
} |
- |
void Assembler::IncrementSmiField(const Address& dest, int64_t increment) { |
// Note: FlowGraphCompiler::EdgeCounterIncrementSizeInBytes depends on |
// the length of this instruction sequence. |
@@ -3016,21 +2724,18 @@ void Assembler::IncrementSmiField(const Address& dest, int64_t increment) { |
addq(dest, inc_imm); |
} |
- |
void Assembler::DoubleNegate(XmmRegister d) { |
// {0x8000000000000000LL, 0x8000000000000000LL} |
movq(TMP, Address(THR, Thread::double_negate_address_offset())); |
xorpd(d, Address(TMP, 0)); |
} |
- |
void Assembler::DoubleAbs(XmmRegister reg) { |
// {0x7FFFFFFFFFFFFFFFLL, 0x7FFFFFFFFFFFFFFFLL} |
movq(TMP, Address(THR, Thread::double_abs_address_offset())); |
andpd(reg, Address(TMP, 0)); |
} |
- |
void Assembler::Stop(const char* message, bool fixed_length_encoding) { |
int64_t message_address = reinterpret_cast<int64_t>(message); |
if (FLAG_print_stop_message) { |
@@ -3057,7 +2762,6 @@ void Assembler::Stop(const char* message, bool fixed_length_encoding) { |
int3(); // Execution can be resumed with the 'cont' command in gdb. |
} |
- |
void Assembler::Bind(Label* label) { |
intptr_t bound = buffer_.Size(); |
ASSERT(!label->IsBound()); // Labels can only be bound once. |
@@ -3076,7 +2780,6 @@ void Assembler::Bind(Label* label) { |
label->BindTo(bound); |
} |
- |
void Assembler::EnterFrame(intptr_t frame_size) { |
if (prologue_offset_ == -1) { |
prologue_offset_ = CodeSize(); |
@@ -3097,13 +2800,11 @@ void Assembler::EnterFrame(intptr_t frame_size) { |
} |
} |
- |
void Assembler::LeaveFrame() { |
movq(RSP, RBP); |
popq(RBP); |
} |
- |
void Assembler::ReserveAlignedFrameSpace(intptr_t frame_space) { |
// Reserve space for arguments and align frame before entering |
// the C++ world. |
@@ -3115,7 +2816,6 @@ void Assembler::ReserveAlignedFrameSpace(intptr_t frame_space) { |
} |
} |
- |
void Assembler::PushRegisters(intptr_t cpu_register_set, |
intptr_t xmm_register_set) { |
const intptr_t xmm_regs_count = RegisterSet::RegisterCount(xmm_register_set); |
@@ -3144,7 +2844,6 @@ void Assembler::PushRegisters(intptr_t cpu_register_set, |
} |
} |
- |
void Assembler::PopRegisters(intptr_t cpu_register_set, |
intptr_t xmm_register_set) { |
for (intptr_t i = 0; i < kNumberOfCpuRegisters; ++i) { |
@@ -3170,7 +2869,6 @@ void Assembler::PopRegisters(intptr_t cpu_register_set, |
} |
} |
- |
void Assembler::EnterCallRuntimeFrame(intptr_t frame_space) { |
Comment("EnterCallRuntimeFrame"); |
EnterStubFrame(); |
@@ -3182,7 +2880,6 @@ void Assembler::EnterCallRuntimeFrame(intptr_t frame_space) { |
ReserveAlignedFrameSpace(frame_space); |
} |
- |
void Assembler::LeaveCallRuntimeFrame() { |
// RSP might have been modified to reserve space for arguments |
// and ensure proper alignment of the stack frame. |
@@ -3204,7 +2901,6 @@ void Assembler::LeaveCallRuntimeFrame() { |
LeaveStubFrame(); |
} |
- |
void Assembler::CallCFunction(Register reg) { |
// Reserve shadow space for outgoing arguments. |
if (CallingConventions::kShadowSpaceBytes != 0) { |
@@ -3213,18 +2909,15 @@ void Assembler::CallCFunction(Register reg) { |
call(reg); |
} |
- |
void Assembler::CallRuntime(const RuntimeEntry& entry, |
intptr_t argument_count) { |
entry.Call(this, argument_count); |
} |
- |
void Assembler::RestoreCodePointer() { |
movq(CODE_REG, Address(RBP, kPcMarkerSlotFromFp * kWordSize)); |
} |
- |
void Assembler::LoadPoolPointer(Register pp) { |
// Load new pool pointer. |
CheckCodePointer(); |
@@ -3232,7 +2925,6 @@ void Assembler::LoadPoolPointer(Register pp) { |
set_constant_pool_allowed(pp == PP); |
} |
- |
void Assembler::EnterDartFrame(intptr_t frame_size, Register new_pp) { |
ASSERT(!constant_pool_allowed()); |
EnterFrame(0); |
@@ -3249,7 +2941,6 @@ void Assembler::EnterDartFrame(intptr_t frame_size, Register new_pp) { |
} |
} |
- |
void Assembler::LeaveDartFrame(RestorePP restore_pp) { |
// Restore caller's PP register that was pushed in EnterDartFrame. |
if (restore_pp == kRestoreCallerPP) { |
@@ -3259,7 +2950,6 @@ void Assembler::LeaveDartFrame(RestorePP restore_pp) { |
LeaveFrame(); |
} |
- |
void Assembler::CheckCodePointer() { |
#ifdef DEBUG |
if (!FLAG_check_code_pointer) { |
@@ -3290,7 +2980,6 @@ void Assembler::CheckCodePointer() { |
#endif |
} |
- |
// On entry to a function compiled for OSR, the caller's frame pointer, the |
// stack locals, and any copied parameters are already in place. The frame |
// pointer is already set up. The PC marker is not correct for the |
@@ -3310,17 +2999,14 @@ void Assembler::EnterOsrFrame(intptr_t extra_size) { |
} |
} |
- |
void Assembler::EnterStubFrame() { |
EnterDartFrame(0, kNoRegister); |
} |
- |
void Assembler::LeaveStubFrame() { |
LeaveDartFrame(); |
} |
- |
// RDI receiver, RBX guarded cid as Smi |
void Assembler::MonomorphicCheckedEntry() { |
ASSERT(has_single_entry_point_); |
@@ -3350,7 +3036,6 @@ void Assembler::MonomorphicCheckedEntry() { |
ASSERT((CodeSize() & kSmiTagMask) == kSmiTag); |
} |
- |
#ifndef PRODUCT |
void Assembler::MaybeTraceAllocation(intptr_t cid, |
Label* trace, |
@@ -3369,7 +3054,6 @@ void Assembler::MaybeTraceAllocation(intptr_t cid, |
j(NOT_ZERO, trace, near_jump); |
} |
- |
void Assembler::UpdateAllocationStats(intptr_t cid, Heap::Space space) { |
ASSERT(cid > 0); |
intptr_t counter_offset = |
@@ -3382,7 +3066,6 @@ void Assembler::UpdateAllocationStats(intptr_t cid, Heap::Space space) { |
incq(Address(temp_reg, counter_offset)); |
} |
- |
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid, |
Register size_reg, |
Heap::Space space) { |
@@ -3394,7 +3077,6 @@ void Assembler::UpdateAllocationStatsWithSize(intptr_t cid, |
addq(Address(temp_reg, size_offset), size_reg); |
} |
- |
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid, |
intptr_t size_in_bytes, |
Heap::Space space) { |
@@ -3407,7 +3089,6 @@ void Assembler::UpdateAllocationStatsWithSize(intptr_t cid, |
} |
#endif // !PRODUCT |
- |
void Assembler::TryAllocate(const Class& cls, |
Label* failure, |
bool near_jump, |
@@ -3446,7 +3127,6 @@ void Assembler::TryAllocate(const Class& cls, |
} |
} |
- |
void Assembler::TryAllocateArray(intptr_t cid, |
intptr_t instance_size, |
Label* failure, |
@@ -3511,7 +3191,6 @@ void Assembler::Align(int alignment, intptr_t offset) { |
ASSERT(((offset + buffer_.GetPosition()) & (alignment - 1)) == 0); |
} |
- |
void Assembler::EmitOperand(int rm, const Operand& operand) { |
ASSERT(rm >= 0 && rm < 8); |
const intptr_t length = operand.length_; |
@@ -3525,14 +3204,12 @@ void Assembler::EmitOperand(int rm, const Operand& operand) { |
} |
} |
- |
void Assembler::EmitXmmRegisterOperand(int rm, XmmRegister xmm_reg) { |
Operand operand; |
operand.SetModRM(3, static_cast<Register>(xmm_reg)); |
EmitOperand(rm, operand); |
} |
- |
void Assembler::EmitImmediate(const Immediate& imm) { |
if (imm.is_int32()) { |
EmitInt32(static_cast<int32_t>(imm.value())); |
@@ -3541,7 +3218,6 @@ void Assembler::EmitImmediate(const Immediate& imm) { |
} |
} |
- |
void Assembler::EmitComplex(int rm, |
const Operand& operand, |
const Immediate& immediate) { |
@@ -3563,7 +3239,6 @@ void Assembler::EmitComplex(int rm, |
} |
} |
- |
void Assembler::EmitLabel(Label* label, intptr_t instruction_size) { |
if (label->IsBound()) { |
intptr_t offset = label->Position() - buffer_.Size(); |
@@ -3574,7 +3249,6 @@ void Assembler::EmitLabel(Label* label, intptr_t instruction_size) { |
} |
} |
- |
void Assembler::EmitLabelLink(Label* label) { |
ASSERT(!label->IsBound()); |
intptr_t position = buffer_.Size(); |
@@ -3582,7 +3256,6 @@ void Assembler::EmitLabelLink(Label* label) { |
label->LinkTo(position); |
} |
- |
void Assembler::EmitNearLabelLink(Label* label) { |
ASSERT(!label->IsBound()); |
intptr_t position = buffer_.Size(); |
@@ -3590,7 +3263,6 @@ void Assembler::EmitNearLabelLink(Label* label) { |
label->NearLinkTo(position); |
} |
- |
void Assembler::EmitGenericShift(bool wide, |
int rm, |
Register reg, |
@@ -3612,7 +3284,6 @@ void Assembler::EmitGenericShift(bool wide, |
} |
} |
- |
void Assembler::EmitGenericShift(bool wide, |
int rm, |
Register operand, |
@@ -3628,7 +3299,6 @@ void Assembler::EmitGenericShift(bool wide, |
EmitOperand(rm, Operand(operand)); |
} |
- |
void Assembler::LoadClassId(Register result, Register object) { |
ASSERT(RawObject::kClassIdTagPos == 16); |
ASSERT(RawObject::kClassIdTagSize == 16); |
@@ -3638,7 +3308,6 @@ void Assembler::LoadClassId(Register result, Register object) { |
movzxw(result, FieldAddress(object, class_id_offset)); |
} |
- |
void Assembler::LoadClassById(Register result, Register class_id) { |
ASSERT(result != class_id); |
LoadIsolate(result); |
@@ -3648,19 +3317,16 @@ void Assembler::LoadClassById(Register result, Register class_id) { |
movq(result, Address(result, class_id, TIMES_8, 0)); |
} |
- |
void Assembler::LoadClass(Register result, Register object) { |
LoadClassId(TMP, object); |
LoadClassById(result, TMP); |
} |
- |
void Assembler::CompareClassId(Register object, intptr_t class_id) { |
LoadClassId(TMP, object); |
cmpl(TMP, Immediate(class_id)); |
} |
- |
void Assembler::SmiUntagOrCheckClass(Register object, |
intptr_t class_id, |
Label* is_smi) { |
@@ -3680,7 +3346,6 @@ void Assembler::SmiUntagOrCheckClass(Register object, |
cmpl(TMP, Immediate(class_id)); |
} |
- |
void Assembler::LoadClassIdMayBeSmi(Register result, Register object) { |
Label smi; |
@@ -3706,7 +3371,6 @@ void Assembler::LoadClassIdMayBeSmi(Register result, Register object) { |
} |
} |
- |
void Assembler::LoadTaggedClassIdMayBeSmi(Register result, Register object) { |
Label smi; |
@@ -3734,7 +3398,6 @@ void Assembler::LoadTaggedClassIdMayBeSmi(Register result, Register object) { |
} |
} |
- |
Address Assembler::ElementAddressForIntIndex(bool is_external, |
intptr_t cid, |
intptr_t index_scale, |
@@ -3750,7 +3413,6 @@ Address Assembler::ElementAddressForIntIndex(bool is_external, |
} |
} |
- |
static ScaleFactor ToScaleFactor(intptr_t index_scale) { |
// Note that index is expected smi-tagged, (i.e, times 2) for all arrays with |
// index scale factor > 1. E.g., for Uint8Array and OneByteString the index is |
@@ -3773,7 +3435,6 @@ static ScaleFactor ToScaleFactor(intptr_t index_scale) { |
} |
} |
- |
Address Assembler::ElementAddressForRegIndex(bool is_external, |
intptr_t cid, |
intptr_t index_scale, |
@@ -3787,23 +3448,19 @@ Address Assembler::ElementAddressForRegIndex(bool is_external, |
} |
} |
- |
static const char* cpu_reg_names[kNumberOfCpuRegisters] = { |
"rax", "rcx", "rdx", "rbx", "rsp", "rbp", "rsi", "rdi", |
"r8", "r9", "r10", "r11", "r12", "r13", "thr", "pp"}; |
- |
const char* Assembler::RegisterName(Register reg) { |
ASSERT((0 <= reg) && (reg < kNumberOfCpuRegisters)); |
return cpu_reg_names[reg]; |
} |
- |
static const char* xmm_reg_names[kNumberOfXmmRegisters] = { |
"xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", |
"xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15"}; |
- |
const char* Assembler::FpuRegisterName(FpuRegister reg) { |
ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); |
return xmm_reg_names[reg]; |