Index: src/assembler_ia32.cpp |
diff --git a/src/assembler_ia32.cpp b/src/assembler_ia32.cpp |
index 9042cf1b4451c2742463b9de7708433a417a3acf..2b80820558ec3e2826b6d06270801750c136e031 100644 |
--- a/src/assembler_ia32.cpp |
+++ b/src/assembler_ia32.cpp |
@@ -1,10 +1,11 @@ |
+//===- subzero/src/assembler_ia32.cpp - Assembler for x86-32 -------------===// |
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
// |
// Modified by the Subzero authors. |
// |
-//===- subzero/src/assembler_ia32.cpp - Assembler for x86-32 -------------===// |
+//===----------------------------------------------------------------------===// |
// |
// The Subzero Code Generator |
// |
@@ -26,6 +27,9 @@ namespace Ice { |
namespace x86 { |
class DirectCallRelocation : public AssemblerFixup { |
+ DirectCallRelocation(const DirectCallRelocation &) = delete; |
+ DirectCallRelocation &operator=(const DirectCallRelocation &) = delete; |
+ |
public: |
static DirectCallRelocation *create(Assembler *Asm, FixupKind Kind, |
const ConstantRelocatable *Sym) { |
@@ -2320,6 +2324,11 @@ void AssemblerX86::xchg(Type Ty, const Address &addr, GPRRegister reg) { |
EmitOperand(reg, addr); |
} |
+void AssemblerX86::EmitSegmentOverride(uint8_t prefix) { |
+ AssemblerBuffer::EnsureCapacity ensured(&buffer_); |
+ EmitUint8(prefix); |
+} |
+ |
void AssemblerX86::Align(intptr_t alignment, intptr_t offset) { |
assert(llvm::isPowerOf2_32(alignment)); |
intptr_t pos = offset + buffer_.GetPosition(); |