diff options
author | Andreas Gampe <agampe@google.com> | 2017-08-25 11:30:48 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2017-08-30 11:35:19 -0700 |
commit | 7da4c401614344e3274434a242b8231126b17981 (patch) | |
tree | d06f9db0b42bb2d9f4886cf15f418af341dbe212 /compiler/optimizing/graph_visualizer.cc | |
parent | 8ef4b6121ea496d38c0b8aeebad3f1227f819b17 (diff) |
ART: Redo verification on field resolution failure
When compile-time verifying a field PUT and the field cannot be resolved,
the verification must be redone at runtime to ensure the field is not
final. Post an ACCESS_FIELD error.
An example is
dex file A:
class A {
{
B b = new B();
B.final_field = 12345; // illegally modify final-after-new
}
}
dex file B:
class B {
final int final_field = 0;
}
when A is compiled without B.
Bug: 34966607
Bug: 64681719
Test: m test-art-host
Test: cts-tradefed run commandAndExit cts --m vm-tests-tf
Change-Id: Ibc14b003288f7acf3c865fcdef54a6d9ed4ac867
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions