diff options
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r-- | compiler/optimizing/nodes.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 3ad987e3f0..bece0acea3 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -4520,7 +4520,8 @@ class HInvokePolymorphic final : public HInvoke { // resolved_method is the ArtMethod object corresponding to the polymorphic // method (e.g. VarHandle.get), resolved using the class linker. It is needed // to pass intrinsic information to the HInvokePolymorphic node. - ArtMethod* resolved_method) + ArtMethod* resolved_method, + dex::ProtoIndex proto_idx) : HInvoke(kInvokePolymorphic, allocator, number_of_arguments, @@ -4529,14 +4530,18 @@ class HInvokePolymorphic final : public HInvoke { dex_pc, dex_method_index, resolved_method, - kPolymorphic) { + kPolymorphic), + proto_idx_(proto_idx) { } bool IsClonable() const override { return true; } + dex::ProtoIndex GetProtoIndex() { return proto_idx_; } + DECLARE_INSTRUCTION(InvokePolymorphic); protected: + dex::ProtoIndex proto_idx_; DEFAULT_COPY_CONSTRUCTOR(InvokePolymorphic); }; |