Index: src/x64/assembler-x64.h |
=================================================================== |
--- src/x64/assembler-x64.h (revision 9327) |
+++ src/x64/assembler-x64.h (working copy) |
@@ -215,6 +215,12 @@ |
return names[index]; |
} |
+ static XMMRegister from_code(int code) { |
+ ASSERT(code >= 0); |
+ ASSERT(code < kNumRegisters); |
+ XMMRegister r = { code }; |
+ return r; |
+ } |
bool is_valid() const { return 0 <= code_ && code_ < kNumRegisters; } |
bool is(XMMRegister reg) const { return code_ == reg.code_; } |
int code() const { |
@@ -735,6 +741,10 @@ |
immediate_arithmetic_op_32(0x0, dst, src); |
} |
+ void addl(const Operand& dst, Register src) { |
+ arithmetic_op_32(0x01, src, dst); |
+ } |
+ |
void addq(Register dst, Register src) { |
arithmetic_op(0x03, dst, src); |
} |
@@ -1394,13 +1404,14 @@ |
static const int kMaximalBufferSize = 512*MB; |
static const int kMinimalBufferSize = 4*KB; |
+ byte byte_at(int pos) { return buffer_[pos]; } |
+ void set_byte_at(int pos, byte value) { buffer_[pos] = value; } |
+ |
protected: |
bool emit_debug_code() const { return emit_debug_code_; } |
private: |
byte* addr_at(int pos) { return buffer_ + pos; } |
- byte byte_at(int pos) { return buffer_[pos]; } |
- void set_byte_at(int pos, byte value) { buffer_[pos] = value; } |
uint32_t long_at(int pos) { |
return *reinterpret_cast<uint32_t*>(addr_at(pos)); |
} |