Hi Joe,
Most JVM TI events can, in theory, be forwarded up to a Java programing language agent by using a JNI method call. A few events, like GC events, do not allow JNI calls -- these are indicated in the JVM TI specification. The bigger problem would be doing this in a way that does not hang or cause infinite recursion in your agent. For example, in the case of breakpoints, if a breakpoint is set in code used by the Java programing language event handler, infinite recursion will occur if proper precautions are not taken.
Thanks for your question,
Robert Field
JVM TI Specification Lead