History log of /art/test/ti-agent/breakpoint_helper.cc
Revision Date Author Comments
d3782f304acee54273f551c52f547539c8f4a78b 05-Apr-2018 Alex Light <allight@google.com> Prevent deadlock calling transformation functions in ClassLoad callback.

If an agent called RetransformClasses or RedefineClasses from the
ClassLoad event callback and the class that caused the event is
included the thread would deadlock. This happened because the
verification code would try to wait for the class to be linked but
since the current thread is responsible for doing that this will never
happen. To prevent this from happening we make those functions simply
return JVMTI_ERROR_INTERNAL if they are called on the same thread the
class is being loaded on.

In order to test this we needed to modify the test helper code to keep
track of the current jvmtiEventCallbacks state.

Bug: 77652488
Test: ./test.py --host -j50

(cherry picked from commit 9e7859cb2449d6150b97c7d8ff9646a5405737f8)
Merged-In: I0a196b999a08ec3bf9cdf98357e223f89fdcd666
Change-Id: I0a196b999a08ec3bf9cdf98357e223f89fdcd666
d0d6596dd85e6fdd7c82c242fbc050f611ad3b09 30-Jun-2017 Alex Light <allight@google.com> Split up ti-agent/common_helper.cc

This file has gotten far too large. Split it up into pieces for each
of the major JVMTI helper classes (art.Breakpoint, art.Trace, &
art.Redefinition).

Test: ./test.py --host -j40
Change-Id: Ia0697c212983706aadeb3c4eaa575a6abcf7a825