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
|