tree a583889668d9703d16d37586d56421bd27c62661
parent e12575640dca5118bf96245f373acda276c22178
author Alex Light <allight@google.com> 1539187094 +0000
committer Alex Light <allight@google.com> 1539301314 -0700

Revert^4 "JVMTI PopFrame support"

This reverts commit 202b617acf477e8e8e11915f467120a0bd518e74.
This unreverts commit 202b617acf.
This unreverts commit 88a2a9d7a1.

There were several bugs with the implementation of pop-frame related
to interactions between the jit, exception handling, class-loading,
and deoptimization.

- We were instrumenting the target thread stack in cases where it was
  unnecessary which caused the exception handler to incorrectly
  determine that a method was not deoptimizable. This caused the
  pop-frame to be ignored.

- We were incorrectly sending ExceptionCatch events if an exception
  suppressed by pop-frame would have been caught in the current frame.

- We were allowing pop-frame to be used on threads suspended in the
  ClassLoad or ClassPrepare events despite having surprising semantics
  in that situation (see b/117615146).

Needed to modify test 1953 slightly for inclusion in CTS. I needed to
make the CTS entrypoint not run the class-load tests (since the cts
configuration means the classes are loaded by the verifier and not the
interpreter). I updated the expected.txt and check script to reflect
this.

Reason for revert: Fixed issue causing Exception events to sometimes
                   eat PopFrame and other issues.

Test: ./test.py --host
Test: ./art/tools/run-libjdwp-tests.sh --mode=host

Bug: 73255278
Bug: 111357976
Bug: 117533193
Bug: 117615146

Change-Id: I655c4fe769938cf41d7589f931d6710cf2001506
