Commit a4336d25 authored by Vladimir Marko's avatar Vladimir Marko
Browse files

Use dex cache from compilation unit in RTP.

Avoid calling the costly ClassLinker::FindDexCache() from
reference type propagation when the dex cache from the
compilation unit will do, i.e. almost always. Compiling
the Nexus 5 boot image on host under perf(1) shows that
the FindDexCache() hits drop from about 0.2% to almost
nothing, though enabling inlining for the boot image will
increase it a bit to 0.03% due to unavoidable calls from
the inliner.

Also clean up the ScopedObjectAccess usage a bit.

Bug: 28173563

Cherry-picked the "revert-revert"
    (cherry picked from commit 456307a4)
and squashed two subsequent fixes
    Fix RTP to hold mutator lock while using raw mirror pointers.
    (cherry picked from commit 62977ff1)
    Fix reference_type_propagation_test.
    (cherry picked from commit 5eed0c5d)

Change-Id: Ia944452d7ab26aed963832a9346df363743a419f
parent 89a48396
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment