summaryrefslogtreecommitdiff
path: root/compiler/utils/arm/assembler_arm.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2016-04-13 16:55:11 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-04-13 16:55:11 +0000
commit8d4b37ed048487561358e13e2a18ad9ca0dab3c0 (patch)
treef1d50e29322a92b66727a2a350731e11e32677bf /compiler/utils/arm/assembler_arm.h
parentde76960329b18f5330a9a08f24ba661516a93ac3 (diff)
parent93205e395f777c1dd81d3f164cf9a4aec4bde45f (diff)
Merge "Move Assemblers to the Arena."
Diffstat (limited to 'compiler/utils/arm/assembler_arm.h')
-rw-r--r--compiler/utils/arm/assembler_arm.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/utils/arm/assembler_arm.h b/compiler/utils/arm/assembler_arm.h
index a894565425..ffbe786bf4 100644
--- a/compiler/utils/arm/assembler_arm.h
+++ b/compiler/utils/arm/assembler_arm.h
@@ -20,6 +20,8 @@
#include <type_traits>
#include <vector>
+#include "base/arena_allocator.h"
+#include "base/arena_containers.h"
#include "base/bit_utils.h"
#include "base/logging.h"
#include "base/stl_util.h"
@@ -1078,6 +1080,9 @@ class ArmAssembler : public Assembler {
}
protected:
+ explicit ArmAssembler(ArenaAllocator* arena)
+ : Assembler(arena), tracked_labels_(arena->Adapter(kArenaAllocAssembler)) {}
+
// Returns whether or not the given register is used for passing parameters.
static int RegisterCompare(const Register* reg1, const Register* reg2) {
return *reg1 - *reg2;
@@ -1086,7 +1091,7 @@ class ArmAssembler : public Assembler {
void FinalizeTrackedLabels();
// Tracked labels. Use a vector, as we need to sort before adjusting.
- std::vector<Label*> tracked_labels_;
+ ArenaVector<Label*> tracked_labels_;
};
// Slowpath entered when Thread::Current()->_exception is non-null