On 01/27/2011 08:55 PM, Mark Roos wrote:
Getting closer to running Smallalk on Java. We are at the point of importing the
ST methods into the java side to use with invokeDynamic.

We are planning on one java class per ST method ( and its blocks ) and so would have about 45000 classes. During a typical development session about 1% of the classes would be added or replaced. We were thinking of doing the class creation on
demand (during bootstrap) but could do it all at once as well.

We could use normal classes with one class loader per class, one global class loader and
some naming convention,  or John's anonymous class loader (using unsafe).

One global classloader means no reloading.
One classloader by class is Ok. Anonymous classloader is faster and
consumes less memory but breaks this invariant:
  Class.forName(clazz.getName()) == clazz
which can be used by existing code (by example reflection invocation doesn't work).

In PHP.reboot which generates several classes for one method (I do code specialization), I use an anonymous classloader if available or one classloader by class otherwise.


Any suggestions?

thanks
mark

Rémi

_______________________________________________
mlvm-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to