[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    RE: RFR (S) : 8073607 : add trace events for inlining
From:       Markus Gronlund <markus.gronlund () oracle ! com>
Date:       2015-03-13 14:11:14
Message-ID: e6b0119f-6e0c-43fd-a012-52870213f0ce () default
[Download RAW message or body]

HI Igor,

Looks good!

Thanks
Markus

-----Original Message-----
From: Igor Ignatyev 
Sent: den 10 mars 2015 17:41
To: Markus Gronlund; erik.gahlin@oracle.com >> Erik Gahlin
Cc: hotspot-compiler-dev@openjdk.java.net compiler; \
                serviceability-dev@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@openjdk.java.net compiler; \
>                 serviceability-dev@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
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic