Derek L Davies ddavies at
Mon Feb 7 11:57:21 PST 2000

Jason Baker <jbaker at> writes:
> I thought the benfit was that JNIEnv becomes a second return value:
> A jni call produces a new JNIEnv along with either the return value or
> an error condition.  But vmdi is different:  there is exactly one
> JVMDI_Interface_1, which you can save a pointer to.

I understand that JNIEnv interface pointers are potentially different
for each thread and that JVMDI_Interface_1 interface pointers are,
like JavaVM interface pointers, the same for every thread of a given VM
instance.  But, JavaMV interfaces functions also take a JavaVM* as
their first args even though the JavaVM interfaces pointer is the same
for every thread.  This inconsistancy is what's confusing me ;-)

> > 
> > It seems like the "codeguru" example is broken to me.  Does anyone
> > know if this is a legal example?  I don't have sun's implementation
> > and am going to great lengths to avoid getting it.  I don't want to
> > look at any of their code, including their implementation of
> > "jvmdi.h".  Does anyone have an example of calling a JVMDI function
> > that works with the sun code?
> Yes.

I'm not sure which question you're answering ;-)

More information about the kaffe mailing list