[DGD] Java or LPC (DGD)?

Albert Deinbeck albert-deinbeck at albert-deinbeck.de
Mon Aug 18 00:40:16 CEST 2003


----- Original Message -----
From: "Tavis Elliott" <tavise at nwlink.com>
To: <dgd at list.imaginary.com>
Sent: Sunday, August 17, 2003 3:43 AM
Subject: Re: [DGD] Java or LPC (DGD)?


> On Sun, 17 Aug 2003 02:44:21 +0300 (EEST), Sampsa Ranta
> <sampsa at netsonic.fi> wrote:
>
> >
> > [..snip..]
> >
> > + Java VM could be used to simulate DGD driver under special Classloader
> > and compiler mapping the code to Java bytecode (maybe with proxies or
> > direct bytecode to support multible inheritance) but not vice versa.
> > DGD driver itself is smart but not too complex features to re-implement
> > on as-is base. It seems it has been written under goal like "keep it
> > simple". However such simulation would still have to be single threading
> > if it is going to be 1:1 simulation.
> > - DGD cannot simulate Java
> >
>
> To weigh in on the bytecode update issue (Java has also been my primary
> development language for quite some time) ... I would advise checking into
> the JDI interface for Java 1.4, there are mechanisms for runtime
> replacement of bytecodes that don't require horrendous fancy ClassLoader
> schemes.  Granted they are 'debug' interfaces, and there are still
> questions about introducing runtime problems, but they are easier than
some
> of the solutions already discussed.
>
> -Tavis

I took a quick look and it sounds very promising. Thank you for the hint,
Tavis!

This package allows one Java VM to be remote controlled by another and
influenced
at a very low level, down to changing bytecode on the fly, on live objects.
It can also
suspend and stop threads, set breakpoints etc...

Using this would mean to have two VM running, one running the mud and the
other
controlling the first and doing maintenance jobs like class updates etc.
This could also be a solution to the problem of badly written classes which
hang up
and never return. The second vm could notice this and
- change the class to the last state known to work
- pop the stack one step up and so simply leave the hung method
- send an exception to the hung thread

Albert


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



More information about the DGD mailing list