Bug 285130 - reuse same background thread to process most target events

Prevents JDI events fork large number of background jobs, which
result in OutOfMemoryError: unable to create new native thread in
extreme cases.

Events are processed in the same order they were provided by the
target jvm. Events that require expression evaluation are then
forked to separate jobs (to avoid deadlock waiting on the main
event processing job).

Change-Id: Iddfff226dd101eb5288ae372b1511280e8fc7db8
Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
7 files changed