Re: A query on the classloader architecture

2004-07-12 Thread Archie Cobbs
Chris Gray wrote: > > So.. (I hope this doesn't sound like an annoying question) what is the > > point of creating your "Java bootstrap classloader" ? Why not just let > > your primoridal native code class loader fill this role as well? Is all > > you're trying to do is prevent getClassLoader() fro

Re: A query on the classloader architecture

2004-07-12 Thread Chris Gray
On Monday 12 July 2004 00:57, David Holmes wrote: > Hmmm. Given that the *only* distinction between the two forms of forName > are that the first implies initialize=true while the latter gives > initialize=false, I don't know why anyone would write that code. ??? Oops, you're right; for some reas

Re: A query on the classloader architecture

2004-07-12 Thread Chris Gray
On Monday 12 July 2004 00:43, Archie Cobbs wrote: > So.. (I hope this doesn't sound like an annoying question) what is the > point of creating your "Java bootstrap classloader" ? Why not just let > your primoridal native code class loader fill this role as well? Is all > you're trying to do is pre

RE: A query on the classloader architecture

2004-07-11 Thread David Holmes
Chris Gray wrote: > Why do you think people write stuff like >Class c; >ClassLoader cl = this.getClass().getClassLoader(); >if (cl == null) { > c = Class.forName(classname); >} >else { > c = Class.forName(classname, false, cl); >} > > Which gets tedious, real fast.

Re: A query on the classloader architecture

2004-07-11 Thread Archie Cobbs
Chris Gray wrote: > During bootstrapping, a native code (C) classloader is used to load the most > fundamental classes; Object, Class, String, Thread, etc.. This classloader > only searches one file, namely the first .jar or .zip in the bootstrap > classpath (normally this is wre.jar). As soon a

Re: A query on the classloader architecture

2004-07-11 Thread Chris Gray
On Sunday 11 July 2004 13:18, David Holmes wrote: > Chris, > > > It seems only one person is using "system class loader" to mean a > > Java class which loads system classes, and that person is me. > > I thought I'd got the terminology from Li Gong's book (which I don't > > have handy), but apparent

Re: A query on the classloader architecture

2004-07-11 Thread Chris Gray
On Sunday 11 July 2004 13:50, David Holmes wrote: > I wrote: > > > Consequently application code should have every right to assert that > > > "this.getClass().getClassLoader()" is never null. > > Jeroen responded: > > Sure, but, IMHO, if you write a library you cannot assume that your > > library w

RE: A query on the classloader architecture

2004-07-11 Thread David Holmes
I wrote: > > Consequently application code should have every right to assert that > > "this.getClass().getClassLoader()" is never null. > Jeroen responded: > Sure, but, IMHO, if you write a library you cannot assume that your > library won't be loaded by the bootstrap class loader. Good point. Th

RE: A query on the classloader architecture

2004-07-11 Thread Jeroen Frijters
David Holmes wrote: > > Archie Cobbs wrote: > > The Sun API spec clearly states that Class.getClassLoader() > may return > > null, and in fact MUST return null for primitive type Class objects. > > So why worry about obviously buggy software? > > There are only two cases where getClassLoader is a

RE: A query on the classloader architecture

2004-07-11 Thread David Holmes
> Archie Cobbs wrote: > The Sun API spec clearly states that Class.getClassLoader() may return > null, and in fact MUST return null for primitive type Class objects. > So why worry about obviously buggy software? There are only two cases where getClassLoader is allowed to return null: a) it may r

RE: A query on the classloader architecture

2004-07-11 Thread David Holmes
Chris, > It seems only one person is using "system class loader" to mean a > Java class which loads system classes, and that person is me. > I thought I'd got the terminology from Li Gong's book (which I don't > have handy), but apparently the rest of the world is unanimous in > using "system clas

Re: A query on the classloader architecture

2004-07-09 Thread Archie Cobbs
Jeroen Frijters wrote: > No, originally you wrote: > > The Sun API spec clearly states that > > Class.getClassLoader() may return > > null, and in fact MUST return null for primitive type > > Class objects. > > So why worry about obviously buggy software? > > I responded to this by saying that t

Re: A query on the classloader architecture

2004-07-09 Thread Chris Gray
On Friday 09 July 2004 16:15, Archie Cobbs wrote: > By the way, I'm somewhat confused about terminology. I've always > used the term "system class loader" to mean a user defined class > loader (with associated ClassLoader object), and always different > from the "bootstrap class loader" which (by

RE: A query on the classloader architecture

2004-07-09 Thread Jeroen Frijters
Archie Cobbs wrote: > Hmm.. you mean the statement "Sun's VM returns null for the > boot loader" ? > Otherwise I'm not sure what you're asking me to clarify... No, originally you wrote: > The Sun API spec clearly states that > Class.getClassLoader() may return > null, and in fact MUST return nul

Re: A query on the classloader architecture

2004-07-09 Thread Archie Cobbs
Jeroen Frijters wrote: > Archie Cobbs wrote: > > Jeroen Frijters wrote: > > > > The Sun API spec clearly states that Class.getClassLoader() may return > > > > null, and in fact MUST return null for primitive type Class objects. > > > > So why worry about obviously buggy software? > > > > > > Becau

Re: A query on the classloader architecture

2004-07-09 Thread Stuart Ballard
Jeroen Frijters wrote: I'm sorry, but you lost me. I clearly don't understand what you mean. Can you please clarify your original statement (the one I quoted above)? I think the point is that Sun's VM returns null for stuff that (in IKVM) comes from IKVM.GNU.Classpath.dll, but not for anything els

RE: A query on the classloader architecture

2004-07-09 Thread Jeroen Frijters
Archie Cobbs wrote: > Jeroen Frijters wrote: > > > The Sun API spec clearly states that > Class.getClassLoader() may return > > > null, and in fact MUST return null for primitive type > Class objects. > > > So why worry about obviously buggy software? > > > > Because most software is buggy? If s

Re: A query on the classloader architecture

2004-07-09 Thread Archie Cobbs
Jeroen Frijters wrote: > > The Sun API spec clearly states that Class.getClassLoader() may return > > null, and in fact MUST return null for primitive type Class objects. > > So why worry about obviously buggy software? > > Because most software is buggy? If something runs on the Sun VM and it > d

RE: A query on the classloader architecture

2004-07-09 Thread Jeroen Frijters
Archie Cobbs wrote: > Jeroen Frijters wrote: > > bootstrap loader in IKVM. To me this makes perfect sense > > and it would seem like the ideal solution, except for > > the fact that there is a lot of code out there that expects that > > this.getClass().getClassLoader() is not null. Most of the co

Re: A query on the classloader architecture

2004-07-09 Thread Archie Cobbs
These answers are for JC... David Holmes wrote: > 1. Is your bootstrap loader represented by null or an actual Classloader > instance? By null. > 2. Is your bootstrap loader and system/application classloader the same > object? No. > 3. Do you think your structure for the bootstrap and system

Re: A query on the classloader architecture

2004-07-09 Thread Archie Cobbs
Jeroen Frijters wrote: > bootstrap loader in IKVM. To me this makes perfect sense and it would > seem like the ideal solution, except for the fact that there is a > lot of code out there that expects that this.getClass().getClassLoader() > is not null. Most of the code is actually broken, because i

Re: A query on the classloader architecture

2004-07-09 Thread Chris Gray
On Friday 09 July 2004 02:15, David Holmes wrote: > These are questions for the different VM implementors out there. ObDisclaimer: the Wonka VM doesn't (currently) use Classpath, but ... > 1. Is your bootstrap loader represented by null or an actual Classloader > instance? Null. (But see below).

RE: A query on the classloader architecture

2004-07-08 Thread Jeroen Frijters
David Holmes wrote: > These are questions for the different VM implementors out there. > > 1. Is your bootstrap loader represented by null or an actual > Classloader instance? By null. > 2. Is your bootstrap loader and system/application > classloader the same object? No. > 3. Do you think y