RFR(M): 8026251: New type profiling points: parameters to methods
Roland Westrelin
roland.westrelin at oracle.com
Thu Oct 17 11:44:21 PDT 2013
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