diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-04-28 17:47:12 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-04-29 10:55:30 +0100 |
commit | a7aca370a7d62ca04a1e24423d90e8020d6f1a58 (patch) | |
tree | 65d501b0f9711abddbea1a9d06623baafa4ae2b3 /compiler/optimizing/code_generator_arm.h | |
parent | 5dee5df89aa2cefef6c886d5b9b642cc6f1c595b (diff) | |
download | art-a7aca370a7d62ca04a1e24423d90e8020d6f1a58.zip art-a7aca370a7d62ca04a1e24423d90e8020d6f1a58.tar.gz art-a7aca370a7d62ca04a1e24423d90e8020d6f1a58.tar.bz2 |
Setup policies for register allocation.
Change-Id: I857e77530fca3e2fb872fc142a916af1b48400dc
Diffstat (limited to 'compiler/optimizing/code_generator_arm.h')
-rw-r--r-- | compiler/optimizing/code_generator_arm.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/compiler/optimizing/code_generator_arm.h b/compiler/optimizing/code_generator_arm.h index ed35f94..2405d4b 100644 --- a/compiler/optimizing/code_generator_arm.h +++ b/compiler/optimizing/code_generator_arm.h @@ -101,10 +101,7 @@ class InstructionCodeGeneratorARM : public HGraphVisitor { class CodeGeneratorARM : public CodeGenerator { public: - explicit CodeGeneratorARM(HGraph* graph) - : CodeGenerator(graph), - location_builder_(graph, this), - instruction_visitor_(graph, this) { } + explicit CodeGeneratorARM(HGraph* graph); virtual ~CodeGeneratorARM() { } virtual void GenerateFrameEntry() OVERRIDE; @@ -128,7 +125,13 @@ class CodeGeneratorARM : public CodeGenerator { return &assembler_; } + virtual void SetupBlockedRegisters(bool* blocked_registers) const OVERRIDE; + virtual ManagedRegister AllocateFreeRegister( + Primitive::Type type, bool* blocked_registers) const OVERRIDE; + virtual size_t GetNumberOfRegisters() const OVERRIDE; + int32_t GetStackSlot(HLocal* local) const; + virtual Location GetStackLocation(HLoadLocal* load) const OVERRIDE; private: // Helper method to move a 32bits value between two locations. |