Request for review:8021948:Change InstanceKlass::_source_file_name and _generic_signature from Symbol* to constant pool index

Jiangli Zhou jiangli.zhou at oracle.com
Thu Aug 22 10:07:45 PDT 2013


Hi Staffan,

Thanks so much for looking into this.

On 08/22/2013 05:54 AM, Staffan Larsen wrote:
> I don't claim to understand this, but if I remove the changes to 
> jvmtiRedefineClasses.cpp in [1] the test passes. My guess is that 
> there is no need to change the source file name cp index in 
> scratch_class since there is no merge happening for that attribute, 
> whatever index it has in the new class is the correct one.

Initially I didn't have the source file name index rewrite part and ran 
into a crash with incorrect source file name index during testing. It 
was one of the jvmti tests, I think. I don't remember which test though. 
After class redefine and merge, the new class source file name index in 
the scratch_class was pointing to a incorrect entry. Adding the source 
file name index rewrite part resolved the crash for that test.

Thanks,
Jiangli

>
> Thoughts?
>
> /Staffan
>
> [1] http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot/rev/e22ee8e7ae62
>
>
> On 22 aug 2013, at 13:09, Staffan Larsen <staffan.larsen at oracle.com 
> <mailto:staffan.larsen at oracle.com>> wrote:
>
>> This changed caused com/sun/jdi/RedefineMulti.sh to fail. 
>> See JDK-8023547. I'm looking at it, but if someone sees the problem, 
>> let me know.
>>
>> /Staffan
>>
>> On 12 aug 2013, at 22:45, Jiangli Zhou <jiangli.zhou at oracle.com 
>> <mailto:jiangli.zhou at oracle.com>> wrote:
>>
>>> Hi Ioi,
>>>
>>> Thanks for the review! I'll try those tests also.
>>>
>>> Thanks,
>>> Jiangli
>>>
>>> On 08/12/2013 11:09 AM, Ioi Lam wrote:
>>>> Looks good.
>>>>
>>>> Since you're touching the class loader code, maybe you should run 
>>>> vm.parallel_class_loading.testlist as well.
>>>>
>>>> Thanks
>>>> - Ioi
>>>>
>>>> On 08/09/2013 02:22 PM, Jiangli Zhou wrote:
>>>>> Hi,
>>>>>
>>>>> Could anyone help me review this?
>>>>>
>>>>> Thanks,
>>>>> Jiangli
>>>>>
>>>>> On 07/31/2013 01:51 PM, Jiangli Zhou wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Please review following change for JDK-8021948 
>>>>>> <https://jbs.oracle.com/bugs/browse/JDK-8021948>:
>>>>>>
>>>>>> http://cr.openjdk.java.net/~jiangli/8021948/webrev.00/
>>>>>>
>>>>>> Both InstanceKlass::_source_file_name and 
>>>>>> InstanceKlass::_generic_signature were pointers to Symbol. They 
>>>>>> are now indexes to constant pool entries. Both fields are now u2 
>>>>>> type, and co-located with other non-pointer type fields for more 
>>>>>> efficient alignment on 64-bit machine. On 32-bit machine, the 
>>>>>> change saves 4bytes for each class.
>>>>>>
>>>>>> Tested with JPRT, vm.quick.testlist, nsk.sajdi.testlist, 
>>>>>> nsk.stress.testlist and nsk.jvmti.testlist.
>>>>>>
>>>>>> Thanks,
>>>>>> Jiangli
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130822/67cb8f3d/attachment.html 


More information about the hotspot-runtime-dev mailing list