RFR(L): 8005071: Incremental inlining for JSR 292

Christian Thalinger christian.thalinger at oracle.com
Thu Dec 20 11:31:52 PST 2012


On Dec 20, 2012, at 9:30 AM, Roland Westrelin <roland.westrelin at oracle.com> wrote:

> Hi Christian,
> 
> Thanks for the review.
> 
>> src/share/vm/opto/bytecodeInfo.cpp:
>> 
>> -  if (callee_method->force_inline() || callee_method->should_inline()) {
>> +  if ( callee_method->should_inline()) {
>> 
>> Are ForceInline methods always inlined after this change?  Because there are more checks after that line.
> 
> Is there anything in the logic that you think can be a problem?

Only this one:

    } else if (!callee_method->was_executed_more_than(MIN2(MinInliningThreshold,
                                                           CompileThreshold >> 1))) {
      return "executed < MinInliningThreshold times";
    }

-- Chris

> 
>> I'm not so happy with your additional boolean arguments:
>> 
>> delay
>> no_late
>> not_const
>> 
>> We probably can't live without them (can we?) but more meaningful names would be good.
> 
> Ok.
> 
>> 
>> src/share/vm/opto/compile.cpp:
>> 
>> +  // clean up the late inline lists
>> +  for (int j = 0; j < 2; j++) {
>> +    int shift = 0;
>> +    GrowableArray<CallGenerator*>* inlines = j == 0 ? &_string_late_inlines : &_late_inlines;
>> 
>> Why 2?  Maybe you should move that loop into a method and call it with the arrays as an argument.
> 
> Ok.
> 
>> src/share/vm/opto/compile.hpp:
>> 
>> +  uint                          _nb_mh_late;          // number of method handle late inlining still pending
>> 
>> Usually we have a _nof prefix for "number of" but can't we just call it like that?
>> 
>> +  uint                          _number_of_mh_late_inlines;          // number of method handle late inlining still pending
>> 
>> I don't like these abbreviations.
> 
> Ok.
> 
>> +  void Incremental_Inline(PhaseIterGVN& igvn, bool eager = false);
>> +  void String_Inline(bool parse_time);
>> 
>> Let's not add new camel-case methods.
> 
> Ok.
> 
> Roland.
> 



More information about the hotspot-compiler-dev mailing list