OSDN Git Service

Fix vtable corruption.
authorAlex Light <allight@google.com>
Tue, 3 May 2016 01:51:34 +0000 (18:51 -0700)
committerAlex Light <allight@google.com>
Tue, 3 May 2016 17:24:31 +0000 (10:24 -0700)
commitd6c2bfaff8850a9a02ee9b75cf8c96eadd8d5c69
tree841c06ba9677b83b9a15198201402ad802320403
parenta6513729ae2ad0d2f9dd21d77ea6cf9ed9fa6eef
Fix vtable corruption.

Due to failing to keep track of superclass implementations of
interface methods we could end up in situations where methods were
placed onto a class's vtable multiple times. This could cause virtual
and interface dispatches on subclasses to fail by causing corruption
of the subclass's vtable and iftable.

Bug: 28333278

Change-Id: I37d9740ca912daf37cdf9ff82697bbc5db46177a
runtime/class_linker.cc
test/960-default-smali/expected.txt
test/960-default-smali/src/Foo.java [new file with mode: 0644]
test/960-default-smali/src/Fooer.java [new file with mode: 0644]
test/960-default-smali/src/K.java [new file with mode: 0644]
test/960-default-smali/src/L.java [new file with mode: 0644]
test/960-default-smali/src/M.java [new file with mode: 0644]
test/960-default-smali/src/classes.xml