RFR(M): 8026251: New type profiling points: parameters to methods

Roland Westrelin roland.westrelin at oracle.com
Mon Oct 14 12:57:48 PDT 2013


Hi Vladimir,

Thanks for the comments.

> I wish you added more comments to the code.

Do you want me to send another webrev?

> 
> Assembler. mdp points to array_len cell so your TypeStackSlotEntries access is off by 1.
> 
> c1_GraphBuilder.cpp Why you need changes in args_list_for_profiling()? Why profiling parameter affects number of profiled arguments?

To profile parameters on entry to inlined methods. The receiver is profiled as an incoming parameter so even if TypeProfileArgsLimit == TypeProfileParmsLimit, the number of arguments required for profiling is not necessarily the same for the arguments at a call and the parameters at the same call.

> methodData.cpp Rename args_cell to params_cell:
> 
> +   int args_cell = ParametersTypeData::compute_cell_count(method());
> +   if (args_cell > 0) {

Ok.

Roland.

> 
> Thanks,
> Vladimir
> 
> On 10/14/13 4:59 AM, Roland Westrelin wrote:
>> The last of the series of new type profiling points.
>> 
>> http://cr.openjdk.java.net/~roland/8026251/webrev.00/
>> 
>> The output of PrintMethodData is:
>> 
>> TestProfiling.m1(Ljava/lang/Object;JLjava/lang/Object;LTestProfiling$C;I)Ljava/lang/Object;
>>   interpreter_invocation_count:     5000
>>   invocation_counter:               5000
>>   backedge_counter:                    0
>>   mdo size: 444 bytes
>> 
>>   parameter types                   0: stack(0) 'TestProfiling'
>>                                     1: stack(1) 'TestProfiling$A'
>> 
>> Roland.
>> 



More information about the hotspot-compiler-dev mailing list