Review Request (S) 8025841: JVMTI: "vtable stub" dynamic code notification is misplaced
coleen.phillimore at oracle.com
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 oracle.com 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.
> On 2/3/14 2:17 PM, serguei.spitsyn at oracle.com wrote:
>> Please, review the fix for:
>> Open webrev:
>> The fix contributed by Oleg Mazurov to improve profiling data quality.
>> It moves the "vtable stub" dynamic code notification to the right
>> 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
>> 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
>> -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."
>> 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
More information about the hotspot-dev