classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: String/Hashtable boostrapping (again)


From: Patrick Doyle
Subject: Re: String/Hashtable boostrapping (again)
Date: Sun, 15 Jul 2001 10:23:44 -0400 (EDT)

On Wed, 11 Jul 2001, Stuart Ballard wrote:

> Patrick Doyle wrote:
> > 
> > However, I can't find this reply.  Does anyone know where I might
> > find it?
> 
> Try here:
> 
> http://www.mail-archive.com/address@hidden/msg01820.html

Thanks for the pointer.  Its followups are basically pointing out that
recursive class initialization is well-defined by the JVM spec.

However, I don't think that's the central issue.  There really is a
fundamental initialization problem here:

- Constant pool strings NEED intern().
- Intern() USES a Hashtable.
- Instantiating Hashtable NEEDS Hashtable.<clinit> to be executed.
- Hashtable.<clinit> USES constant pool strings.

As classpath stands, I can't see any way to do this correctly.  Am I
missing it?  What is the sequence of events which causes these things to
be initialized properly?

Then, assuming there is such a correct sequence, doesn't this code still
seem somewhat obscure?  Should it be rewritten so as not to rely so
heavily on Java's precise initialization semantics, just for clarity?

--
Patrick Doyle
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]