Debugging progess, question on how to step using MH
John Rose
john.r.rose at oracle.com
Wed Aug 3 00:13:46 PDT 2011
Hi Mark.
Your proposal looks right, at least until JVMTI has native support for MH interposition.
It might be more efficient to use a SwitchPoint to enable the slow path testing. Basically, the switchpoint would take the place of the GWT, and (when invalidated) would execute a slow path that would patch in the slower code propose (with explicit GWT).
-- John
On Aug 2, 2011, at 6:44 PM, Mark Roos wrote:
> 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 at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
More information about the mlvm-dev
mailing list