RFR (S) : 8073607 : add trace events for inlining

Markus Gronlund markus.gronlund at oracle.com
Fri Mar 13 14:11:14 UTC 2015


HI Igor,

Looks good!

Thanks
Markus

-----Original Message-----
From: Igor Ignatyev 
Sent: den 10 mars 2015 17:41
To: Markus Gronlund; erik.gahlin at oracle.com >> Erik Gahlin
Cc: hotspot-compiler-dev at openjdk.java.net compiler; serviceability-dev at openjdk.java.net
Subject: Re: RFR (S) : 8073607 : add trace events for inlining

Hi Markus/Erik,

I've slightly updated the patch according to your comments:
  - changed event path to 'vm/compiler/optimization/inlining'
  - replaced acronym BCI by its meaning

Also I changed caller type to 'Method*'.

http://cr.openjdk.java.net/~iignatyev/8073607/webrev.01/

Igor

On 02/27/2015 01:25 PM, Markus Gronlund wrote:
> Hi Igor,
>
> In trace.xml:
>
>      <struct id="CiMethod">
>   404       <value type="UTF8" field="class" label="Class name"/>
>   405       <value type="UTF8" field="method" label="Method name"/>
>   406       <value type="UTF8" field="signature" label="Method signature"/>
>   407     </struct>
>
> You don't need to write an individual UTF8 string for every class, method and desc as we have "intrinsics" for taking care of this for you.
>
> This also means you wouldn't need to create a separate struct, as you can just define the necessary fields as type METHOD in the CompilerInlining event:
>
> <event id="CompilerInlining" path="vm/compiler/opto/inlining" label="Compiler Optimization :: Inlining"
>   410          has_thread="true" is_instant="true">
>   411       <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/>
>   412       <value type="METHOD" field="caller" label="Caller "/>
>   413       <value type="METHOD" field="callee" label="Callee "/>
>   414       <value type="BOOLEAN" field="succeeded" label="Succeeded"/>
>   415       <value type="UTF8" field="message" label="Message"/>
>   416       <value type="INTEGER" field="bci" label="bci"/>
>   417     </event>
>
>
> // I also removed these attributes " is_requestable="false" is_constant="false" - they are defaults. I changed to "is_instant=true" since it looks like the event does not span over a duration in bytecodeInfo.cpp.
>
> At the event site, you will now need to pass the Hotspot Method* as the values (unsure how you pull that out of a ci* artifact, but you have the Metadata* for the Method there somewhere):
>
> result.set_caller(Method* caller_method);
> result.set_callee(Method* callee_method);
>
> Thanks
> Markus
>
> -----Original Message-----
> From: Igor Ignatyev
> Sent: den 24 februari 2015 22:11
> To: hotspot-compiler-dev at openjdk.java.net compiler; serviceability-dev at openjdk.java.net
> Subject: RFR (S) : 8073607 : add trace events for inlining
>
> Hi guys,
>
> could you please review the patch which adds trace events for inlining for c1/c2 compiler?
>
> An added event provides information about caller, callee, bci, inline status and message.
>
> webrev : http://cr.openjdk.java.net/~iignatyev/8073607/webrev.00/
> JBS: https://bugs.openjdk.java.net/browse/JDK-8073607
> --
> Igor
>


More information about the serviceability-dev mailing list