| Index: src/assembler.h
|
| diff --git a/src/assembler.h b/src/assembler.h
|
| index 46cf0100e4ab38d3862df2f4726559db63733481..d769b3aef72a17c115d8fa976266934ddcd69b3b 100644
|
| --- a/src/assembler.h
|
| +++ b/src/assembler.h
|
| @@ -1,10 +1,11 @@
|
| +//===- subzero/src/assembler.h - Integrated assembler -----------*- C++ -*-===//
|
| // Copyright (c) 2012, 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.h - Integrated assembler -----------*- C++ -*-===//
|
| +//===----------------------------------------------------------------------===//
|
| //
|
| // The Subzero Code Generator
|
| //
|
| @@ -40,6 +41,9 @@ class MemoryRegion;
|
| // information that needs to be processed before finalizing the code
|
| // into executable memory.
|
| class AssemblerFixup {
|
| + AssemblerFixup(const AssemblerFixup &) = delete;
|
| + AssemblerFixup &operator=(const AssemblerFixup &) = delete;
|
| +
|
| public:
|
| virtual void Process(const MemoryRegion ®ion, intptr_t position) = 0;
|
|
|
| @@ -64,13 +68,14 @@ private:
|
|
|
| void set_position(intptr_t position) { position_ = position; }
|
|
|
| - AssemblerFixup(const AssemblerFixup &) = delete;
|
| - AssemblerFixup &operator=(const AssemblerFixup &) = delete;
|
| friend class AssemblerBuffer;
|
| };
|
|
|
| // Assembler buffers are used to emit binary code. They grow on demand.
|
| class AssemblerBuffer {
|
| + AssemblerBuffer(const AssemblerBuffer &) = delete;
|
| + AssemblerBuffer &operator=(const AssemblerBuffer &) = delete;
|
| +
|
| public:
|
| AssemblerBuffer(Assembler &);
|
| ~AssemblerBuffer();
|
| @@ -118,8 +123,11 @@ public:
|
| // AssemblerBuffer::EnsureCapacity ensured(&buffer);
|
| // ... emit bytes for single instruction ...
|
|
|
| -#if defined(DEBUG)
|
| +#ifndef NDEBUG
|
| class EnsureCapacity {
|
| + EnsureCapacity(const EnsureCapacity &) = delete;
|
| + EnsureCapacity &operator=(const EnsureCapacity &) = delete;
|
| +
|
| public:
|
| explicit EnsureCapacity(AssemblerBuffer *buffer);
|
| ~EnsureCapacity();
|
| @@ -133,8 +141,11 @@ public:
|
|
|
| bool has_ensured_capacity_;
|
| bool HasEnsuredCapacity() const { return has_ensured_capacity_; }
|
| -#else
|
| +#else // NDEBUG
|
| class EnsureCapacity {
|
| + EnsureCapacity(const EnsureCapacity &) = delete;
|
| + EnsureCapacity &operator=(const EnsureCapacity &) = delete;
|
| +
|
| public:
|
| explicit EnsureCapacity(AssemblerBuffer *buffer) {
|
| if (buffer->cursor() >= buffer->limit())
|
| @@ -146,7 +157,7 @@ public:
|
| // asserting that the user of the assembler buffer has ensured the
|
| // capacity needed for emitting, we add a dummy method in non-debug mode.
|
| bool HasEnsuredCapacity() const { return true; }
|
| -#endif
|
| +#endif // NDEBUG
|
|
|
| // Returns the position in the instruction stream.
|
| intptr_t GetPosition() const { return cursor_ - contents_; }
|
| @@ -165,9 +176,9 @@ private:
|
| uintptr_t limit_;
|
| Assembler &assembler_;
|
| std::vector<AssemblerFixup *> fixups_;
|
| -#if defined(DEBUG)
|
| +#ifndef NDEBUG
|
| bool fixups_processed_;
|
| -#endif
|
| +#endif // !NDEBUG
|
|
|
| uintptr_t cursor() const { return cursor_; }
|
| uintptr_t limit() const { return limit_; }
|
| @@ -191,6 +202,9 @@ private:
|
| };
|
|
|
| class Assembler {
|
| + Assembler(const Assembler &) = delete;
|
| + Assembler &operator=(const Assembler &) = delete;
|
| +
|
| public:
|
| Assembler() {}
|
| ~Assembler() {}
|
| @@ -212,9 +226,6 @@ public:
|
|
|
| private:
|
| llvm::BumpPtrAllocator Allocator;
|
| -
|
| - Assembler(const Assembler &) = delete;
|
| - Assembler &operator=(const Assembler &) = delete;
|
| };
|
|
|
| } // end of namespace Ice
|
|
|