Review Request (S) 8025841: JVMTI: "vtable stub" dynamic code notification is misplaced

Coleen Phillimore coleen.phillimore at
Thu Feb 6 15:32:13 PST 2014

Hi, I clicked on this a couple times.  It seems okay but isn't there a 
safer way to identify code blobs that are vtable stubs, without looking 
at the name (which can change in while creating it).  A comment at least 
when you create "vtable chunks" would be good.   It seems that someone 
might want to rename it "vtable or itable buffers", or something like that.


On 2/6/14 6:17 PM, serguei.spitsyn at wrote:
> Runtime team,
> This fix was reviewed by Vladimir K. and me.
> Just wanted to make sure if you would like to review it as well.
> If not, then I will push it.
> Thanks,
> Serguei
> On 2/3/14 2:17 PM, serguei.spitsyn at wrote:
>> Please, review the fix for:
>> Open webrev:
>> Summary:
>>   The fix contributed by Oleg Mazurov to improve profiling data quality.
>>   It moves the "vtable stub" dynamic code notification to the right 
>> place.
>>   I've already reviewed the fix, and it looks good to me.
>>   Bug report description:
>>    "JVMTI_EVENT_DYNAMIC_CODE_GENERATED for "vtable stub" gets 
>> scheduled when
>>     a new chunk of memory for subsequent vtable and itable stubs is 
>> allocated.
>>     That chunk is uninitialized (contains zeros or garbage) although 
>> due to the fact
>>     that the actual event delivery is deferred, at least one vtable 
>> comes out right.
>>     This event should describe an individual vtable/itable stub (base 
>> address and size)
>>     and only after it's been created (memory is actually populated 
>> with code).
>>     Where VM diagnostic messages about vtable/itable stubs are issued 
>> upon
>>     -XX:+PrintAdapterHandlers appears exactly the right place for 
>> JVMTI events as well.
>>     Getting vtables/itables right is important in the context of 
>> performance analysis as
>>     that dynamically generated code may accumulate quite noticeable 
>> CPU time
>>     (especially itabes), sometimes larger than the actual Java 
>> methods called."
>> Testing:
>>   Oleg tested it in the Oracle Studio Performance Analyzer environment.
>>   nsk.jvmti, nsk.jdi, nsk.jdwp,
>>   In progress: Jtreg com/sun/jdi, java/lang/instrument
>> Thanks,
>> Serguei

More information about the hotspot-dev mailing list