summaryrefslogtreecommitdiff
path: root/compiler/utils/arm64/assembler_arm64.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-08-02 20:06:39 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-08-02 20:06:39 +0000
commit524a76c93347d7c23ad75b58eec997219b352ead (patch)
treee429889eb682be16f382c1534a6b0d298eba9155 /compiler/utils/arm64/assembler_arm64.h
parent8055598c8dd4f3cd4d8490b5fc576161467f8bcb (diff)
parent087930f2be5a628c65db280a73fecf468899d983 (diff)
Merge "ARM64: Make the VIXL macro assembler part of ART ARM64's assembler."
Diffstat (limited to 'compiler/utils/arm64/assembler_arm64.h')
-rw-r--r--compiler/utils/arm64/assembler_arm64.h17
1 files changed, 6 insertions, 11 deletions
diff --git a/compiler/utils/arm64/assembler_arm64.h b/compiler/utils/arm64/assembler_arm64.h
index 24b798201a..b8434b9263 100644
--- a/compiler/utils/arm64/assembler_arm64.h
+++ b/compiler/utils/arm64/assembler_arm64.h
@@ -23,7 +23,6 @@
#include "base/arena_containers.h"
#include "base/logging.h"
-#include "constants_arm64.h"
#include "utils/arm64/managed_register_arm64.h"
#include "utils/assembler.h"
#include "offsets.h"
@@ -84,16 +83,13 @@ class Arm64Exception {
class Arm64Assembler FINAL : public Assembler {
public:
- // We indicate the size of the initial code generation buffer to the VIXL
- // assembler. From there we it will automatically manage the buffer.
explicit Arm64Assembler(ArenaAllocator* arena)
: Assembler(arena),
- exception_blocks_(arena->Adapter(kArenaAllocAssembler)),
- vixl_masm_(new vixl::aarch64::MacroAssembler(kArm64BaseBufferSize)) {}
+ exception_blocks_(arena->Adapter(kArenaAllocAssembler)) {}
- virtual ~Arm64Assembler() {
- delete vixl_masm_;
- }
+ virtual ~Arm64Assembler() {}
+
+ vixl::aarch64::MacroAssembler* GetVIXLAssembler() { return &vixl_masm_; }
// Finalize the code.
void FinalizeCode() OVERRIDE;
@@ -287,9 +283,8 @@ class Arm64Assembler FINAL : public Assembler {
// List of exception blocks to generate at the end of the code cache.
ArenaVector<std::unique_ptr<Arm64Exception>> exception_blocks_;
- public:
- // Vixl assembler.
- vixl::aarch64::MacroAssembler* const vixl_masm_;
+ // VIXL assembler.
+ vixl::aarch64::MacroAssembler vixl_masm_;
// Used for testing.
friend class Arm64ManagedRegister_VixlRegisters_Test;