deadlock in initialization of instanceKlass

Rémi Forax forax at univ-mlv.fr
Fri Mar 23 08:05:06 PDT 2012


On 03/23/2012 02:39 AM, Krystal Mok wrote:
> On Fri, Mar 23, 2012 at 9:19 AM, David Holmes <david.holmes at oracle.com 
> <mailto:david.holmes at oracle.com>> wrote:
>
>     On 23/03/2012 11:13 AM, Krystal Mok wrote:
>
>
>         On the int[0] stuff: yep, I saw it. The locker object for
>         bootstrap
>         class loader is also an array, a "fake" int[0][]:
>
>         _system_loader_lock_obj = oopFactory::new_system_objArray(0,
>         CHECK);
>
>
>         It's been like that since duke at 0...from what I can tell.
>         Wonder why an
>         array was favored over something else, say, a java.lang.Byte
>         instance,
>         which carries pretty much the same weight (in terms of object
>         size)?
>
>
>     A primitive array can be created without having any classes loaded.
>
> Ah, I see. That makes sense. So these klasses can be created even 
> before SystemDictionary is initialized, where as well-known classes 
> (such as java.lang.Byte) are created SystemDictionary initialization.

but int[] implements Cloneable & Serializable which both need the system 
dictionary ?

>
> Thanks,
> Kris Mok
>
>     David
>

Rémi



More information about the hotspot-dev mailing list