OSDN Git Service

ART: Resolve ambiguous ArraySets
authorDavid Brazdil <dbrazdil@google.com>
Wed, 16 Dec 2015 10:30:45 +0000 (10:30 +0000)
committerDavid Brazdil <dbrazdil@google.com>
Wed, 6 Jan 2016 12:44:42 +0000 (12:44 +0000)
commit15693bfdf9fa3ec79327a77b7e10315614d716cc
tree918208d60ec2a5595a2b5e42791865fefdbf9692
parent87bafaf563d35616804dd0cc0dbde176aac87817
ART: Resolve ambiguous ArraySets

Just like aget(-wide), the value operand of aput(-wide) bytecode
instructions can be both int/long and float/double. This patch builds
on the previous mechanism for resolving type of ArrayGets to type the
values of ArraySets based on the reference type of the array.

Bug: 22538329

Change-Id: Ic86abbb58de146692de04476b555010b6fcdd8b6
compiler/optimizing/induction_var_analysis_test.cc
compiler/optimizing/licm_test.cc
compiler/optimizing/load_store_elimination.cc
compiler/optimizing/nodes.h
compiler/optimizing/optimizing_compiler.cc
compiler/optimizing/optimizing_compiler_stats.h
compiler/optimizing/ssa_builder.cc
compiler/optimizing/ssa_builder.h
test/552-checker-primitive-typeprop/smali/ArraySet.smali [new file with mode: 0644]