Chromium Code Reviews| Index: src/x64/assembler-x64-inl.h |
| =================================================================== |
| --- src/x64/assembler-x64-inl.h (revision 2030) |
| +++ src/x64/assembler-x64-inl.h (working copy) |
| @@ -37,6 +37,39 @@ |
| } |
| +// ----------------------------------------------------------------------------- |
| +// Implementation of Assembler |
| + |
| +#define EMIT(x) \ |
| + *pc_++ = (x) |
|
iposva
2009/05/22 15:50:23
Is there any particular reason why this has to be
|
| + |
| + |
| +void Assembler::emit_rex_64(Register reg, Register rm_reg) { |
| + EMIT(0x48 | (reg.code() & 0x8) >> 1 | rm_reg.code() >> 3); |
| +} |
| + |
| + |
| +void Assembler::emit_rex_64(Register reg, const Operand& op) { |
| + EMIT(0x48 | (reg.code() & 0x8) >> 1 | op.rex_); |
| +} |
| + |
| + |
| +void Assembler::set_target_address_at(byte* location, byte* value) { |
| + UNIMPLEMENTED(); |
| +} |
| + |
| + |
| +byte* Assembler::target_address_at(byte* location) { |
| + UNIMPLEMENTED(); |
| + return NULL; |
| +} |
| + |
| +#undef EMIT |
| + |
| + |
| +// ----------------------------------------------------------------------------- |
| +// Implementation of RelocInfo |
| + |
| // The modes possibly affected by apply must be in kApplyMask. |
| void RelocInfo::apply(int delta) { |
| if (rmode_ == RUNTIME_ENTRY || IsCodeTarget(rmode_)) { |
| @@ -71,19 +104,6 @@ |
| ASSERT(IsCodeTarget(rmode_) || rmode_ == RUNTIME_ENTRY); |
| Assembler::set_target_address_at(pc_, target); |
| } |
| - |
| - |
| -void Assembler::set_target_address_at(byte* location, byte* value) { |
| - UNIMPLEMENTED(); |
| -} |
| - |
| - |
| -byte* Assembler::target_address_at(byte* location) { |
| - UNIMPLEMENTED(); |
| - return NULL; |
| -} |
| - |
| - |
| Object* RelocInfo::target_object() { |
| ASSERT(IsCodeTarget(rmode_) || rmode_ == EMBEDDED_OBJECT); |
| return *reinterpret_cast<Object**>(pc_); |