OSDN Git Service

Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""
authorNicolas Geoffray <ngeoffray@google.com>
Mon, 22 Jun 2015 10:06:43 +0000 (11:06 +0100)
committerNicolas Geoffray <ngeoffray@google.com>
Mon, 22 Jun 2015 13:39:02 +0000 (14:39 +0100)
commitb783b408112d1797da646f576a40f94bcb5162f3
treec6046874de725b77a8744637f470ade1861fa7c7
parenta63d8f44740a8406adda6aaff7ed75ef923c085f
Revert "Revert "Use IsAssignableFrom instead of IsSubclass for robustness.""

Don't use IsAssignableFrom, but check beforehand if the referrer is an
interface. Otherwise, we are being too aggressive on removing clinit
checks on interfaces (being a subclass doesn't imply the interface
has been initialized).

bug:21870666

This reverts commit 463580ca5a1e75e27ad0207537ffc6252091326a.

Change-Id: I2a13974d28477ee3e5224142cc260cbf46d19aa9
compiler/driver/compiler_driver-inl.h
compiler/optimizing/builder.cc
test/511-clinit-interface/expected.txt [new file with mode: 0644]
test/511-clinit-interface/info.txt [new file with mode: 0644]
test/511-clinit-interface/smali/BogusInterface.smali [new file with mode: 0644]
test/511-clinit-interface/src/Main.java [new file with mode: 0644]