diff options
author | 2015-08-25 15:42:32 +0100 | |
---|---|---|
committer | 2015-09-17 12:29:51 +0100 | |
commit | 175dc732c80e6f2afd83209348124df349290ba8 (patch) | |
tree | 6a5f45136832f73138ced75fcd3c6110b74116ea /compiler/optimizing/nodes.h | |
parent | 5d01db1aa7634a012109d43e6403451b76de1daa (diff) |
Support unresolved methods in Optimizing
Change-Id: If2da02b50d2fa668cd58f134a005f1752e7746b1
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 |