summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_visualizer.cc
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2016-07-27 15:29:25 +0100
committerDavid Brazdil <dbrazdil@google.com>2016-07-28 16:40:31 +0100
commit0d638bb49054e5278855483290c7a5c7d683e153 (patch)
tree32bf8600721245dfa498c3eb160e8fc30512c852 /compiler/optimizing/graph_visualizer.cc
parent93afc5f20a23ece78d6d6e506ed75775b8ef2113 (diff)
ART: Fix RegTypeCache for instance field declaring class
For bytecode instruction: iget(-*) ClassB->field:type where the resolved field is actually declared in ClassA (ClassB extends ClassA), MethodVerifier would create a RegType representing ClassA but cache it under the descriptor "ClassB". This is a bug but does not have any implications on correctness because earlier resolution of ClassB (part of IGET handling) creates another cache entry with the "ClassB" descriptor. Because the latter, wrong entry is always imprecise (ClassA cannot be final because ClassB extends it), either the earlier entry will be discovered or neither of them will be a match. Descriptor was replaced with the correct one and a DCHECK added when creating a RegType to make sure the descriptor matches. Bug: 30458218 Change-Id: I19e1bdd5dd79e5eac558122a06b9128d0a5c021f Test: m test-art-host-run-test Test: art/test/run-test --host 800-smali
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions