Review Request (S) 8025841: JVMTI: "vtable stub" dynamic code notification is misplaced
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Feb 4 15:45:29 PST 2014
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