diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-05-17 22:26:08 +0000 |
---|---|---|
committer | Orion Hodson <oth@google.com> | 2018-05-21 11:31:43 +0100 |
commit | 2c5827a67a7f3d307384e98757f91c8b5d49f94f (patch) | |
tree | 12d13e0e5c321639ca21d53eae61cfcaf3231c2d /compiler/optimizing/instruction_builder.h | |
parent | 80a7c29b29c50c1c6cf40093a4552dacd4c5d638 (diff) |
ART: Simplify operands in InstructionBuilder
Test: art/test.py --host --optimizing --jit -r
Change-Id: Ia408ae00637aa6a05a3ba54e1144ea00c6b335b5
Diffstat (limited to 'compiler/optimizing/instruction_builder.h')
-rw-r--r-- | compiler/optimizing/instruction_builder.h | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/compiler/optimizing/instruction_builder.h b/compiler/optimizing/instruction_builder.h index 9d886a8ef2..2218a691ea 100644 --- a/compiler/optimizing/instruction_builder.h +++ b/compiler/optimizing/instruction_builder.h @@ -38,6 +38,7 @@ class CompilerDriver; class DexCompilationUnit; class HBasicBlockBuilder; class Instruction; +class InstructionOperands; class OptimizingCompilerStats; class ScopedObjectAccess; class SsaBuilder; @@ -168,10 +169,7 @@ class HInstructionBuilder : public ValueObject { bool BuildInvoke(const Instruction& instruction, uint32_t dex_pc, uint32_t method_idx, - uint32_t number_of_vreg_arguments, - bool is_range, - uint32_t* args, - uint32_t register_index); + const InstructionOperands& operands); // Builds an invocation node for invoke-polymorphic and returns whether the // instruction is supported. @@ -179,18 +177,12 @@ class HInstructionBuilder : public ValueObject { uint32_t dex_pc, uint32_t method_idx, dex::ProtoIndex proto_idx, - uint32_t number_of_vreg_arguments, - bool is_range, - uint32_t* args, - uint32_t register_index); + const InstructionOperands& operands); // Builds a new array node and the instructions that fill it. HNewArray* BuildFilledNewArray(uint32_t dex_pc, dex::TypeIndex type_index, - uint32_t number_of_vreg_arguments, - bool is_range, - uint32_t* args, - uint32_t register_index); + const InstructionOperands& operands); void BuildFillArrayData(const Instruction& instruction, uint32_t dex_pc); @@ -260,28 +252,19 @@ class HInstructionBuilder : public ValueObject { HInvoke* invoke); bool SetupInvokeArguments(HInvoke* invoke, - uint32_t number_of_vreg_arguments, - uint32_t* args, - uint32_t register_index, - bool is_range, + const InstructionOperands& operands, const char* descriptor, size_t start_index, size_t* argument_index); bool HandleInvoke(HInvoke* invoke, - uint32_t number_of_vreg_arguments, - uint32_t* args, - uint32_t register_index, - bool is_range, + const InstructionOperands& operands, const char* descriptor, HClinitCheck* clinit_check, bool is_unresolved); bool HandleStringInit(HInvoke* invoke, - uint32_t number_of_vreg_arguments, - uint32_t* args, - uint32_t register_index, - bool is_range, + const InstructionOperands& operands, const char* descriptor); void HandleStringInitResult(HInvokeStaticOrDirect* invoke); |