Review Request (S) 8025841: JVMTI: "vtable stub" dynamic code notification is misplaced
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Tue Feb 4 16:14:48 PST 2014
Thanks a lot, Vladimir!
Serguei
On 2/4/14 3:45 PM, Vladimir Kozlov wrote:
> Changes look reasonable.
>
> Thank,
> Vladimir
>
> On 2/3/14 2:17 PM, serguei.spitsyn at oracle.com wrote:
>> Please, review the fix for:
>> https://bugs.openjdk.java.net/browse/JDK-8025841
>>
>>
>> Open webrev:
>> http://cr.openjdk.java.net/~sspitsyn/webrevs/2014/hotspot/omazurov/8025841-JVMTI-vtbl.1
>>
>>
>>
>> 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