The debug agent sets a breakpoint in Thread.resume() so it can prevent the debugger from suspending threads while in the resume call:
/*
* Track the resuming thread by marking it as being within
* a resume and by setting up for notification on
* a frame pop or exception. We won't allow the debugger
* to suspend threads while any thread is within a
* call to resume. This (along with the block below)
* ensures that when the debugger
* suspends a thread it will remain suspended.
*/
trackAppResume(resumer);
Now that Thread.resume() is unsupported and just throws UnsupportedOperationException, all debug agent code related to this support can be removed. It's at least a couple of hundred lines of code, and with a fair amount of confusing synchronization. It will be nice to see it go.
For removal, search for code that references "AppResume" (do a case insensitive search). That should catch everything. I believe it is all contained to threadControl.c