summaryrefslogtreecommitdiff
path: root/compiler/optimizing/instruction_builder.cc
diff options
context:
space:
mode:
authorAndra Danciu <andradanciu@google.com>2020-09-01 13:17:05 +0000
committerVladimir Marko <vmarko@google.com>2020-09-07 10:31:32 +0000
commit73c3180e6355ce82fc40b3ded2c6eec0fee199f9 (patch)
treeb793b5066fa9f3fd3fe3297e867a11be207d2541 /compiler/optimizing/instruction_builder.cc
parentf96ef4d4253adbc1418ed02386463e37027f998c (diff)
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
Diffstat (limited to 'compiler/optimizing/instruction_builder.cc')
-rw-r--r--compiler/optimizing/instruction_builder.cc3
1 files changed, 2 insertions, 1 deletions
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;