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