RFR(L): 8023657: New type profiling points: arguments to call
Roland Westrelin
roland.westrelin at oracle.com
Wed Oct 2 10:02:35 PDT 2013
Here is a new webrev for the new profiling points, only profiling of arguments at calls this time. This one includes tiered support on 32bit and 64bit x86.
http://cr.openjdk.java.net/~roland/8023657/webrev.01/
The output of -XX:+PrintMethodData is:
6 invokevirtual 2 <TestProfiling.m2(LTestProfiling$C;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;>
0 bci: 6 VirtualCallData count(0) entries(1)
'TestProfiling'(4746 1.00)
argument types 0: stack(1) 'TestProfiling$C'
1: stack(2) unknown (null seen)
Profiling can either be off, on only for jsr292 related calls (invokedynamic, invokehandle or all invokes in a lambda form) or on for all methods and invokes. -XX:TypeProfile={0,1,2} is used to pick a level of profiling.
Once all profiling is in (arguments, parameters, return value), in order to limit the number of options my plan is to use TypeProfile=xyz, with x,y,z in {0,1,2} to select the level of profiling for each. TypeProfile=111, Typeprofile=222 etc.
Profiling is by default on only for jsr292 related calls in order to not impact startup/footprint of standard java apps.
Roland.
More information about the hotspot-compiler-dev
mailing list