Commit 4d4eff79 authored by Andreas Gampe's avatar Andreas Gampe
Browse files

ART: Fix compile-time-init fail

It is possible that a class that isn't itself marked as an image
class and would be skipped for compile-time-initialization by the
compiler driver is initialized when initializing a second class
that is an image class.

If the second class only depended on the first class during
initialization, e.g., to read field values, the compiler driver
may discard the class object (not reachable from image classes),
but record the oat class status as initialized (as it has been).

In that case we miss the initialization when we load the class at
runtime.

Ensure that all initialized classes with a class initializer are
considered image classes and retained.

Bug: 19323020
Change-Id: I4e537f328d9a4ea23ed5ff7166d532b8855f7acd
parent 51867b3c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment