[DGD] Java or LPC (DGD)?

Felix A. Croes felix at dworkin.nl
Sun Aug 17 16:43:20 CEST 2003


Sampsa Ranta <sampsa at netsonic.fi> wrote:

>[...]
> > The JVM which the JDI executes on is distinct from the JVM that you are
> > debugging.  And the JVMDI interface is optional -- JVMs are not required
> > to implement it.
>
> "JVMDI clients run in the same virtual machine as the application being
> debugged and access JVMDI through a native interface. The native,
> in-process interface allows maximal control with minimal intrusion on the
> part of a debugging tool. Typically, JVMDI clients are relatively compact.
> They can be controlled by a separate process which implements the bulk of
> a debugger's function without interfering with the target application's
> normal execution."
>
> Nothing says that it is REQUIRED to run on different virtual machine..

You are correct.  The debugging API is just intended to make remote
debugging possible, but doesn't require it.

I had a look at the Sun hotspot implementation of RedefineClasses().
Currently there are the following limitations (only listing those
that impact DGD-style upgrading):

 - you cannot change class modifiers 
 - you cannot change the inherited class
 - you cannot change the interfaces used
 - you cannot change the number, names, types and order of fields
 - you cannot change the number, names, prototypes and order of methods

All of these throw "not implemented" errors.  So it looks as if the JDI
is not yet ready for class upgrading in a persistent environment (on the
reference platform), but will be in the future.


>[...]
> However the systems lack part of the functionality DGD gave me but if I
> had a point, it was that nowadays the Java world is gaining rapidly on
> DGD and most things could be implemented..

True enough.  DGD is still ahead on this issue, but there is no way I
can keep up with a team of dedicated programmers cranking out new stuff.
Fortunately, there are a few little things that make DGD unique, such
as atomic functions and (relative to Java) multiple inheritance.

Regards,
Dworkin
_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list