RFR(M): 8026251: New type profiling points: parameters to methods
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Oct 15 13:59:36 PDT 2013
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