| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_X64) | 6 #if defined(TARGET_ARCH_X64) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/cpu.h" | 9 #include "vm/cpu.h" |
| 10 #include "vm/heap.h" | 10 #include "vm/heap.h" |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 | 233 |
| 234 | 234 |
| 235 void Assembler::movl(const Address& dst, Register src) { | 235 void Assembler::movl(const Address& dst, Register src) { |
| 236 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 236 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 237 EmitOperandREX(src, dst, REX_NONE); | 237 EmitOperandREX(src, dst, REX_NONE); |
| 238 EmitUint8(0x89); | 238 EmitUint8(0x89); |
| 239 EmitOperand(src & 7, dst); | 239 EmitOperand(src & 7, dst); |
| 240 } | 240 } |
| 241 | 241 |
| 242 | 242 |
| 243 void Assembler::movl(const Address& dst, const Immediate& imm) { |
| 244 movl(TMP, imm); |
| 245 movl(dst, TMP); |
| 246 } |
| 247 |
| 248 |
| 243 void Assembler::movzxb(Register dst, Register src) { | 249 void Assembler::movzxb(Register dst, Register src) { |
| 244 AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 250 AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
| 245 Operand operand(src); | 251 Operand operand(src); |
| 246 EmitOperandREX(dst, operand, REX_W); | 252 EmitOperandREX(dst, operand, REX_W); |
| 247 EmitUint8(0x0F); | 253 EmitUint8(0x0F); |
| 248 EmitUint8(0xB6); | 254 EmitUint8(0xB6); |
| 249 EmitOperand(dst & 7, operand); | 255 EmitOperand(dst & 7, operand); |
| 250 } | 256 } |
| 251 | 257 |
| 252 | 258 |
| (...skipping 3101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3354 | 3360 |
| 3355 | 3361 |
| 3356 const char* Assembler::FpuRegisterName(FpuRegister reg) { | 3362 const char* Assembler::FpuRegisterName(FpuRegister reg) { |
| 3357 ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); | 3363 ASSERT((0 <= reg) && (reg < kNumberOfXmmRegisters)); |
| 3358 return xmm_reg_names[reg]; | 3364 return xmm_reg_names[reg]; |
| 3359 } | 3365 } |
| 3360 | 3366 |
| 3361 } // namespace dart | 3367 } // namespace dart |
| 3362 | 3368 |
| 3363 #endif // defined TARGET_ARCH_X64 | 3369 #endif // defined TARGET_ARCH_X64 |
| OLD | NEW |