diff options
author | 2015-09-17 12:29:02 +0000 | |
---|---|---|
committer | 2015-09-17 12:29:02 +0000 | |
commit | 9d567824e101428adfde58976a1307fbd6c0e247 (patch) | |
tree | 9ea1b98840ee6108408d6f11e0c670e39eb28136 /compiler/optimizing/nodes.h | |
parent | b4b543d79b427fa96f0dd635014bd8754a798cc9 (diff) | |
parent | 175dc732c80e6f2afd83209348124df349290ba8 (diff) |
Merge "Support unresolved methods in Optimizing"
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 70002addea..90ff20cf4c 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -1033,6 +1033,7 @@ class HLoopInformationOutwardIterator : public ValueObject { M(InstanceFieldSet, Instruction) \ M(InstanceOf, Instruction) \ M(IntConstant, Constant) \ + M(InvokeUnresolved, Invoke) \ M(InvokeInterface, Invoke) \ M(InvokeStaticOrDirect, Invoke) \ M(InvokeVirtual, Invoke) \ @@ -3057,6 +3058,29 @@ class HInvoke : public HInstruction { DISALLOW_COPY_AND_ASSIGN(HInvoke); }; +class HInvokeUnresolved : public HInvoke { + public: + HInvokeUnresolved(ArenaAllocator* arena, + uint32_t number_of_arguments, + Primitive::Type return_type, + uint32_t dex_pc, + uint32_t dex_method_index, + InvokeType invoke_type) + : HInvoke(arena, + number_of_arguments, + 0u /* number_of_other_inputs */, + return_type, + dex_pc, + dex_method_index, + invoke_type) { + } + + DECLARE_INSTRUCTION(InvokeUnresolved); + + private: + DISALLOW_COPY_AND_ASSIGN(HInvokeUnresolved); +}; + class HInvokeStaticOrDirect : public HInvoke { public: // Requirements of this method call regarding the class |