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

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Oct 17 18:39:47 PDT 2013


It is good. Thank you for this.

Vladimir

On 10/17/13 11:44 AM, Roland Westrelin wrote:
> Here is a new webrev with more comments.
>
> http://cr.openjdk.java.net/~roland/8026251/webrev.02/
>
> Roland.
>
>
> On Oct 15, 2013, at 10:59 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> On 10/14/13 2:19 PM, Roland Westrelin wrote:
>>>
>>> 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.
>>
>> Okay.
>>
>> Thanks,
>> Vladimir
>>
>>>
>>> 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