diff options
| author | 2016-08-02 20:06:39 +0000 | |
|---|---|---|
| committer | 2016-08-02 20:06:39 +0000 | |
| commit | 524a76c93347d7c23ad75b58eec997219b352ead (patch) | |
| tree | e429889eb682be16f382c1534a6b0d298eba9155 /compiler/utils/arm64/assembler_arm64.h | |
| parent | 8055598c8dd4f3cd4d8490b5fc576161467f8bcb (diff) | |
| parent | 087930f2be5a628c65db280a73fecf468899d983 (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.h | 17 |
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; |