Add support for collecting long running methods

This CL extends low overhead tracing to support collecting long running
methods. This feature is disabled by default and is implemented behind
always_enable_profiling_code flag. Turning on the flag enables the
support but doesn't start tracing. Tracing has to be started via the
StartTraceLongRunningMethods interface in VMDebug. If a trace was
running the collected data is included in the data generated by the
SIGQUIT handlers. This would help when analyzing ANR reports.
The trace can also be dumped using the API provided in VMDebug.

Bug: 352518093
Test: art/test.py

Change-Id: I407560c45cd31bfa06906bb2286c455eef7ceec8
17 files changed