diff options
| author | 2014-03-31 09:15:30 +0000 | |
|---|---|---|
| committer | 2014-03-31 09:15:31 +0000 | |
| commit | 7f466c08888129a9923cb973a4dc73ee4a71574e (patch) | |
| tree | 6119b98fce1ca8754acaa01ae89677b24782fbff /compiler/utils/x86/assembler_x86.cc | |
| parent | dd3c9a0f4bf07f3347b2ef25e795492abaaaecde (diff) | |
| parent | 8ccc3f5d06fd217cdaabd37e743adab2031d3720 (diff) | |
Merge "Add support for invoke-static in optimizing compiler."
Diffstat (limited to 'compiler/utils/x86/assembler_x86.cc')
| -rw-r--r-- | compiler/utils/x86/assembler_x86.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/utils/x86/assembler_x86.cc b/compiler/utils/x86/assembler_x86.cc index d242c17c8f..ebbb43a442 100644 --- a/compiler/utils/x86/assembler_x86.cc +++ b/compiler/utils/x86/assembler_x86.cc @@ -54,6 +54,16 @@ void X86Assembler::call(Label* label) { } +void X86Assembler::call(const ExternalLabel& label) { + AssemblerBuffer::EnsureCapacity ensured(&buffer_); + intptr_t call_start = buffer_.GetPosition(); + EmitUint8(0xE8); + EmitInt32(label.address()); + static const intptr_t kCallExternalLabelSize = 5; + DCHECK_EQ((buffer_.GetPosition() - call_start), kCallExternalLabelSize); +} + + void X86Assembler::pushl(Register reg) { AssemblerBuffer::EnsureCapacity ensured(&buffer_); EmitUint8(0x50 + reg); |