Prevent the JIT from loading classes in debuggable mode

In debuggable mode the timing and placement of class loads is
observable. This causes deopts to be placed in situations where a
class would be loaded by the JIT.

This has negligible impact on performance of compiled code, causing
only a handful of classes to be not loaded.

For example with the it.mvilla.android.fenix2 application of the
~13000 classes loaded the jit was responsible for 19 of them.

Since the jit is only responsible for a small number of class loads
and for the class not to have been loaded by the interpreter the path
must be cold anyway there is no performance impact on standard paths.

Test: ./test.py --host
Test: ./test/testrunner/testrunner.py --with-agent=libjitloadd.so=fatal --host
Test: Attach libjitload.so to running processes and examine jit-load
      counts.

Bug: 70838465
Bug: 73255278
Bug: 112074977
Bug: 116517081

Change-Id: I030bc8116345af506e83ba78427a7fbda7a7b386
9 files changed