OSDN Git Service

ART: Fix destruction order in Runtime.
authorVladimir Marko <vmarko@google.com>
Tue, 22 Sep 2015 10:43:46 +0000 (11:43 +0100)
committerVladimir Marko <vmarko@google.com>
Tue, 22 Sep 2015 11:09:59 +0000 (12:09 +0100)
commit37cf51fb00bbe4bb82e713228b460cafbbf79b43
tree7329488024609e91d6683734c889b0cc0998f3aa
parenta28cae4d38020ea5c42c203414eaa667743ffd1e
ART: Fix destruction order in Runtime.

Destroy arena allocators as late as possible.

With https://android-review.googlesource.com/172057 , the
ArenaPool was indirectly used by ClassLinker's destructor
(via ~LinearAlloc) after it has already been destroyed.
These allocators were being destroyed way too early anyway,
they should be orderly destroyed when the unique_ptr<>
members of Runtime have their destructors executed. However,
due to the potential dependence on MemMap, we destroy them
just before the MemMap::ShutDown().

Change-Id: Ifc3e5a24a29536d5767c82353901e2d22b13d643
runtime/runtime.cc