Prevent concurrent GC stack-walks during deoptimization

We could end up modifying the instrumentation stack at the same time
the GC or thread-flip stack walks are occurring. This could cause
crashes or check-failures as the stack is in an inconsistent state.

To fix this we changed the deoptimization process to block GC stack
walks.

We also standardized openjdkjvmti.so deoptimization to use a single
entrypoint.

Bug: 72608560
Test: ./test.py --host
Test: ./tools/parallel_run.py

Change-Id: I942ff891930d22a579345265897916cf84842a1c
6 files changed