diff options
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);  |