--- old/src/share/vm/ci/ciValueKlass.cpp 2016-12-13 16:55:41.059291779 +0100 +++ new/src/share/vm/ci/ciValueKlass.cpp 2016-12-13 16:55:40.998291897 +0100 @@ -133,18 +133,17 @@ ) } -// When passing field's fields as arguments, count the number of extra -// argument slots that are needed -int ciValueKlass::extra_value_args() { - // -1 because we count the number of extra args - int vt_extra = nof_nonstatic_fields() - 1; +// When passing a value type's fields as arguments, count the number +// of argument slots that are needed +int ciValueKlass::value_arg_slots() { + int slots = nof_nonstatic_fields(); for (int j = 0; j < nof_nonstatic_fields(); j++) { ciField* f = nonstatic_field_at(j); BasicType bt = f->type()->basic_type(); assert(bt != T_VALUETYPE, "embedded"); if (bt == T_LONG || bt == T_DOUBLE) { - vt_extra++; + slots++; } } - return vt_extra; + return slots; }