[kaffe] classloader merging

Helmer Krämer hkraemer at freenet.de
Sun Dec 19 06:55:31 PST 2004


after passing my last two exams in electrical engineering last
week I finally had the time to look at merging the class loader
implementation from classpath again (sorry for vanishing again).

The attached patch is an updated version (using classpath's cvs
from this morning) and also addresses the problem with native
libraries. Here's a short summary of the changes:

* According to [1], the vm should throw an UnsatisfiedLinkError
  when a library is to be loaded by two different class loaders.
  I therefore modified external.c so it keeps track of which class
  loader is associated with a native library. This also enables
  us to remove the libraries associated with a class loader when
  it is finalized.

* I've removed java.lang.NativeLibrary and moved all code dealing
  with native libraries (including code from java.lang.System) into
  java.lang.Runtime. Moving code from java.lang.System has the
  advantage that it is another step towards merging java.lang.System
  from classpath.

* I've kept kaffe.lang.PrimordialClassLoader for the moment, but
  I think we should remove it later on.   

I hope I didn't forget any files in the patch and would appreciate
it if someone could give some feedback about it. If nobody objects,
I'll commit it next week.


[1] http://java.sun.com/docs/books/jni/html/design.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: classloader-patch.gz
Type: application/octet-stream
Size: 26253 bytes
Desc: not available
Url : http://kaffe.org/pipermail/kaffe/attachments/20041219/fdebc86d/attachment-0002.obj 

More information about the kaffe mailing list