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

serguei.spitsyn at serguei.spitsyn at
Thu Feb 6 15:17:53 PST 2014

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.


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