Request for review:JDK-8013036:vm/runtime/simpleThresholdPolicy.cpp: assert(mcs != NULL)
Jiangli Zhou
jiangli.zhou at oracle.com
Thu Apr 25 09:49:20 PDT 2013
Hi Vladimir and Christian,
When TieredCompilation is enabled, in
InterpreterGenerator::generate_counter_incr()
(templateInterpreter_sparc.cpp, line 300~315), it increments the
MethodData::invocation_counter only and done. The invocation_counter
originally in Method, now in MethodCounters is never updated if
MethodData already exists, hence the MethodCounters object is never
created. The MethodCounters is only created when one of the counter
fields is updated the first time in order to save memory.
Thanks,
Jiangli
On 04/24/2013 09:11 PM, Christian Thalinger wrote:
> On Apr 24, 2013, at 8:44 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>
>> So the question is why method_counters is NULL? It should not happen if method is executed, they should be allocated at that point.
> I agree. We need to find out why it's null.
>
> -- Chris
>
>> Thanks,
>> Vladimir
>>
>> On 4/24/13 8:16 PM, Jiangli Zhou wrote:
>>> Please review the fix for JDK-8013036
>>> <https://jbs.oracle.com/bugs/browse/JDK-8013036>:
>>>
>>> http://cr.openjdk.java.net/~jiangli/8013036/webrev.00/
>>>
>>> The method_counters could be NULL when
>>> SimpleThresholdPolicy::handle_counter_overflow is called under
>>> TieredCompilation. The assert should be changed to be an 'if' check instead.
>>>
>>> Thanks,
>>> Jiangli
More information about the hotspot-runtime-dev
mailing list