From 73c3180e6355ce82fc40b3ded2c6eec0fee199f9 Mon Sep 17 00:00:00 2001 From: Andra Danciu Date: Tue, 1 Sep 2020 13:17:05 +0000 Subject: X86: Implement VarHandle.set() for fields. This commit implements VarHandle set access mode for fields (both static and instance). This also implied refactorizing the common parts of get and set access modes (e.g. coordinate type checks). Non-constant Int64 set value is not implemented. Test: ART_HEAP_POISONING=true art/test.py --host --32 -r -t 712-varhandle-invocations Test: ART_HEAP_POISONING=false art/test.py --host --32 -r -t 712-varhandle-invocations Bug: 65872996 Change-Id: I384c09e08f7a772fc7ec372b1ebb5f882ecc5586 --- compiler/optimizing/instruction_builder.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'compiler/optimizing/instruction_builder.cc') diff --git a/compiler/optimizing/instruction_builder.cc b/compiler/optimizing/instruction_builder.cc index 84d79e5d2d..a3630afd6f 100644 --- a/compiler/optimizing/instruction_builder.cc +++ b/compiler/optimizing/instruction_builder.cc @@ -1165,7 +1165,8 @@ bool HInstructionBuilder::BuildInvokePolymorphic(uint32_t dex_pc, return_type, dex_pc, method_idx, - resolved_method); + resolved_method, + proto_idx); if (!HandleInvoke(invoke, operands, shorty, /* is_unresolved= */ false)) { return false; -- cgit v1.2.3-59-g8ed1b