summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/code_generator.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-07-15 12:55:21 +0100
committerNicolas Geoffray <ngeoffray@google.com>2014-07-15 12:58:29 +0100
commitab032bc1ff57831106fdac6a91a136293609401f (patch)
tree5891daefe635283443a255a811ab6a3f3b8a62cd /compiler/optimizing/code_generator.h
parent635561b86ac03f5562bdb779baa6db12f31b3cae (diff)
downloadart-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.h6
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_;