diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2014-07-15 12:55:21 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2014-07-15 12:58:29 +0100 |
commit | ab032bc1ff57831106fdac6a91a136293609401f (patch) | |
tree | 5891daefe635283443a255a811ab6a3f3b8a62cd /compiler/optimizing/code_generator.h | |
parent | 635561b86ac03f5562bdb779baa6db12f31b3cae (diff) | |
download | art-ab032bc1ff57831106fdac6a91a136293609401f.tar.gz art-ab032bc1ff57831106fdac6a91a136293609401f.tar.bz2 art-ab032bc1ff57831106fdac6a91a136293609401f.zip |
Fix a braino in the stack layout.
Also do some refactoring to have this code be just in CodeGenerator.
Change-Id: I88de109889138af8d60027973c12a64bee813cb7
Diffstat (limited to 'compiler/optimizing/code_generator.h')
-rw-r--r-- | compiler/optimizing/code_generator.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/optimizing/code_generator.h b/compiler/optimizing/code_generator.h index abfb790d8f..18e3e5a056 100644 --- a/compiler/optimizing/code_generator.h +++ b/compiler/optimizing/code_generator.h @@ -96,7 +96,10 @@ class CodeGenerator : public ArenaObject { virtual HGraphVisitor* GetInstructionVisitor() = 0; virtual Assembler* GetAssembler() = 0; virtual size_t GetWordSize() const = 0; - virtual void ComputeFrameSize(size_t number_of_spill_slots) = 0; + void ComputeFrameSize(size_t number_of_spill_slots); + virtual size_t FrameEntrySpillSize() const = 0; + int32_t GetStackSlot(HLocal* local) const; + Location GetTemporaryLocation(HTemporary* temp) const; uint32_t GetFrameSize() const { return frame_size_; } void SetFrameSize(uint32_t size) { frame_size_ = size; } @@ -150,7 +153,6 @@ class CodeGenerator : public ArenaObject { size_t AllocateFreeRegisterInternal(bool* blocked_registers, size_t number_of_registers) const; virtual Location GetStackLocation(HLoadLocal* load) const = 0; - virtual Location GetTemporaryLocation(HTemporary* temp) const = 0; // Frame size required for this method. uint32_t frame_size_; |