summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h9
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);
};