From f583e5976e1de9aa206fb8de4f91000180685066 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 7 Apr 2014 13:20:42 +0100 Subject: Add support for taking parameters in optimizing compiler. - Fix stack layout to mimic Quick's. - Implement some sub operations. Change-Id: I8cf75a4d29b662381a64f02c0bc61d859482fc4e --- compiler/optimizing/builder.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/builder.h') diff --git a/compiler/optimizing/builder.h b/compiler/optimizing/builder.h index 46ca9aabd7..df64d712c6 100644 --- a/compiler/optimizing/builder.h +++ b/compiler/optimizing/builder.h @@ -66,11 +66,20 @@ class HGraphBuilder : public ValueObject { HIntConstant* GetConstant0(); HIntConstant* GetConstant1(); HIntConstant* GetConstant(int constant); - void InitializeLocals(int count); + void InitializeLocals(uint16_t count); HLocal* GetLocalAt(int register_index) const; void UpdateLocal(int register_index, HInstruction* instruction) const; HInstruction* LoadLocal(int register_index) const; + // Temporarily returns whether the compiler supports the parameters + // of the method. + bool InitializeParameters(uint16_t number_of_parameters); + + template void Binop_32x(const Instruction& instruction); + template void Binop_12x(const Instruction& instruction); + template void Binop_22b(const Instruction& instruction, bool reverse); + template void Binop_22s(const Instruction& instruction, bool reverse); + ArenaAllocator* const arena_; // A list of the size of the dex code holding block information for -- cgit v1.2.3