| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // | 4 // |
| 5 // Modified by the Subzero authors. | 5 // Modified by the Subzero authors. |
| 6 // | 6 // |
| 7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// | 7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// |
| 8 // | 8 // |
| 9 // The Subzero Code Generator | 9 // The Subzero Code Generator |
| 10 // | 10 // |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 friend class AssemblerX86; | 322 friend class AssemblerX86; |
| 323 Label(const Label &) LLVM_DELETED_FUNCTION; | 323 Label(const Label &) LLVM_DELETED_FUNCTION; |
| 324 Label &operator=(const Label &) LLVM_DELETED_FUNCTION; | 324 Label &operator=(const Label &) LLVM_DELETED_FUNCTION; |
| 325 }; | 325 }; |
| 326 | 326 |
| 327 class AssemblerX86 : public Assembler { | 327 class AssemblerX86 : public Assembler { |
| 328 public: | 328 public: |
| 329 explicit AssemblerX86(bool use_far_branches = false) : buffer_(*this) { | 329 explicit AssemblerX86(bool use_far_branches = false) : buffer_(*this) { |
| 330 // This mode is only needed and implemented for MIPS and ARM. | 330 // This mode is only needed and implemented for MIPS and ARM. |
| 331 assert(!use_far_branches); | 331 assert(!use_far_branches); |
| 332 (void)use_far_branches; |
| 332 } | 333 } |
| 333 ~AssemblerX86() {} | 334 ~AssemblerX86() {} |
| 334 | 335 |
| 335 static const bool kNearJump = true; | 336 static const bool kNearJump = true; |
| 336 static const bool kFarJump = false; | 337 static const bool kFarJump = false; |
| 337 | 338 |
| 338 // Operations to emit GPR instructions (and dispatch on operand type). | 339 // Operations to emit GPR instructions (and dispatch on operand type). |
| 339 typedef void (AssemblerX86::*TypedEmitGPR)(Type, GPRRegister); | 340 typedef void (AssemblerX86::*TypedEmitGPR)(Type, GPRRegister); |
| 340 typedef void (AssemblerX86::*TypedEmitAddr)(Type, const Address &); | 341 typedef void (AssemblerX86::*TypedEmitAddr)(Type, const Address &); |
| 341 struct GPREmitterOneOp { | 342 struct GPREmitterOneOp { |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { | 755 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { |
| 755 buffer_.EmitFixup(fixup); | 756 buffer_.EmitFixup(fixup); |
| 756 } | 757 } |
| 757 | 758 |
| 758 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } | 759 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } |
| 759 | 760 |
| 760 } // end of namespace x86 | 761 } // end of namespace x86 |
| 761 } // end of namespace Ice | 762 } // end of namespace Ice |
| 762 | 763 |
| 763 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ | 764 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ |
| OLD | NEW |