Review Request (S) 8025841: JVMTI: "vtable stub" dynamic code	notification is misplaced
    serguei.spitsyn at oracle.com 
    serguei.spitsyn at oracle.com
       
    Mon Feb  3 14:17:13 PST 2014
    
    
  
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