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

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


On Oct 14, 2013, at 10:53 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:

> On 10/14/13 12:57 PM, Roland Westrelin wrote:
>> Hi Vladimir,
>> 
>> Thanks for the comments.
>> 
>>> I wish you added more comments to the code.
>> 
>> Do you want me to send another webrev?
> 
> I would wait review from Christian before updating 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.
> 
> Is next the code in profile_parameters_at_call() where Values* generated by args_list_for_profiling() are used?:
> 
> arg = x->profiled_arg_at(i);

Yes.

Roland.

> 
> Vladimir
> 
>> 
>>> 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