Record post startup methods in profile

Record post startup methods in the profile by visiting the methods
for all the loaded classes. This data will be used for layout
optimizations and generating the boot image profile.

The maps profile size doesn't seem to get larger after doing a basic
post launch use case. The change in profile size is hard to reliably
measure.

Verified by dumping a profile with profman and confirming that
there are post startup methods in the profile.

Added test to 595-profile-saving.

Did a test for maps to see how long we hold the class table lock. The
results are 4ms in the longest case. This should be short enough to
not cause jank if run every 20s or so.

Test: test-art-host
Bug: 36457259
Change-Id: I82e36957fcdc8d9e072c0193478bd1ef0ce09a67
5 files changed