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
Wed Jul 10 18:39:54 PDT 2013


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/20130710/9cfa248c/attachment.html 


More information about the hotspot-runtime-dev mailing list