Request for review:8020309:Remove InstanceKlass::_cached_class_file_len and record the length together with the cached class file bytes

Jiangli Zhou jiangli.zhou at oracle.com
Fri Jul 12 13:55:25 PDT 2013


Hi Ioi and Serguei,

Here is the updated the webrev:

   http://cr.openjdk.java.net/~jiangli/8020309/webrev.01/.

I've retested with nsk.jvmti, nsk.jdi and nsk.hprof. I'm rerunning the 
JPRT and rest of the tests.

Thanks,
Jiangli

On 07/11/2013 01:14 AM, serguei.spitsyn at oracle.com wrote:
> Hi Jiangli,
>
> I like the Ioi's sugestion.
> It will help to avoid the manipulations with offsets that look as 
> unnecessary complexity.
>
> Thanks,
> Serguei
>
>
> On 7/10/13 6:39 PM, Jiangli Zhou wrote:
>> Hi Ioi,
>>
>> That's good suggestion. Let me look into it.
>>
>> Thanks!
>>
>> Jiangli
>>
>> On 07/10/2013 05:53 PM, Ioi Lam wrote:
>>> Hi Jiangli,
>>>
>>> I think it's better to move the logic of deciding the length into 
>>> JVMTI. E.g., have something like
>>>
>>> struct JvmtiCachedClassFileData {
>>>    int _length;
>>>    unsigned char data[1];
>>> };
>>>
>>> void 
>>> instanceKlass::set_jvmti_cached_class_file_data(JvmtiCachedClassFileData 
>>> *data);
>>>
>>> - Ioi
>>>
>>> On 07/10/2013 04:58 PM, Jiangli Zhou wrote:
>>>> Hi,
>>>>
>>>> Please review the webrev for JDK-8020309 
>>>> <https://jbs.oracle.com/bugs/browse/JDK-8020309>:
>>>>
>>>> http://cr.openjdk.java.net/~jiangli/8020309/webrev.00/
>>>>
>>>> The _cached_class_file_bytes and _cached_class_file_len are not 
>>>> set/used if no jvmti agent is attached. The _cached_class_file_len 
>>>> field can be eliminated and the file length can be recorded as part 
>>>> of the cached class data in _cached_class_file_bytes for redefined 
>>>> class. The above change allocates extra 4bytes when allocating 
>>>> memory for cached class file and stores the length as the first 
>>>> 4bytes and the file data as the rest. It saves 4 bytes per class. 
>>>> For classes redefined, the memory usage is the same.
>>>>
>>>> Tested with following tests and JPRT:
>>>>
>>>>     jdk/test/java/lang/instrument
>>>>     jdk/test/com/sun/jdi
>>>>     nsk.jvmti
>>>>     nsk.jdi
>>>>     nsk.hprof
>>>>
>>>> Thanks,
>>>> Jiangli
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130712/0a70188c/attachment.html 


More information about the hotspot-runtime-dev mailing list