summaryrefslogtreecommitdiff
path: root/compiler/utils/x86/assembler_x86.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2014-03-31 09:15:30 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-03-31 09:15:31 +0000
commit7f466c08888129a9923cb973a4dc73ee4a71574e (patch)
tree6119b98fce1ca8754acaa01ae89677b24782fbff /compiler/utils/x86/assembler_x86.cc
parentdd3c9a0f4bf07f3347b2ef25e795492abaaaecde (diff)
parent8ccc3f5d06fd217cdaabd37e743adab2031d3720 (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.cc10
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);