OSDN Git Service

ART: Run RTP if invoke inputs have more specific type
authorDavid Brazdil <dbrazdil@google.com>
Tue, 21 Jun 2016 16:48:19 +0000 (17:48 +0100)
committerDavid Brazdil <dbrazdil@google.com>
Thu, 23 Jun 2016 13:55:42 +0000 (14:55 +0100)
commit94ab38f01dc2cf3ed0c6e73e2a6b594c14758d67
treec6da419571e7bb8d3c83ffb4a80e15042e3667a0
parent9a8620e45e6eedadaa476322841e26858d10eeee
ART: Run RTP if invoke inputs have more specific type

Moving RTP inside the graph builder introduced a regression where
replacing the inner parameters with the actual arguments of the
HInvoke would not build the inner graph with types more specific
than the method's signature.

This patch runs RTP on the inner graph again when it is detected
that RTP may improve typing precision.

Bug: 29595335
Change-Id: I351babc8497c83c2fba589aa51f46eaa0b7ab33c
compiler/optimizing/inliner.cc
compiler/optimizing/inliner.h
compiler/optimizing/nodes.h
compiler/optimizing/reference_type_propagation.cc
compiler/optimizing/reference_type_propagation.h
test/450-checker-types/src/Main.java