Removing instrumentation trampolines doesn't remove exit stubs

It is possible for tracing to be turned off (and instrumentation
trampolines removed) at any time so long as all threads are
suspended. Our stack walking code assumed that once the trampolines
have been removed from the method entrypoints there will be no more
exit stubs on the stack. This is not true and can cause crashes.

NB Test requires several other patches to actually run far enough to
hit this issue.

Test: ./test/testrunner/testrunner.py --host --runtime-option=-Xplugin:libtracefast-trampolined.so
Change-Id: I1bc55bc180bf4605028cae4f070e6c8e2c65f034
1 file changed