deadlock in initialization of instanceKlass

Krystal Mok rednaxelafx at gmail.com
Thu Mar 22 18:39:17 PDT 2012


On Fri, Mar 23, 2012 at 9:19 AM, David Holmes <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.

Thanks,
Kris Mok


> David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-dev/attachments/20120323/5a73128e/attachment-0001.html 


More information about the hotspot-dev mailing list