Thanks to all of the jvm summit feedback we decided to go with an C++ 
jvmti agent to get the
vm info for our Smalltalk debugger.  Stack vars,  instances and references 
are working.
Pretty small C code ( < 400 lines total ) so all in all not bad.

The next step is to step a suspended thread.  I Thought of jvmti  again 
but it looks pretty
complex to support ( and does not support 292 yet) so I thought of using 
method handles
and callsites as suggested by John.  I was thinking of an bootstrap 
supplied callsite whose target is
a GWT which tests to see if this site should be suspended ( based on 
thread and stack depth).
The fast path would invoke the normal call site and its normal chain of 
method GWTs/lookups.

The slow path would send a debug update event and then suspend.  When 
resumed it would
invokeExact the normal call site of the fast path.

Is there a better way?

thanks
mark
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to