Implement shared counters for boot image / zygote methods.

Add a thread-local counter which the interpreter increments. When
hitting zero, the interpreter goes into the runtime and updates a map of
counters. If the counter for the particular method hits a threshold, we
JIT it.

Test: test.py
Test: imgdiag looking at boot.art
Bug: 162110941

Change-Id: I6493332eafc51856494ef20592ca83bc716c994e
16 files changed