// Report the number of elements on stack when invoking this method. // This is different than the regular arg_size because invokdynamic // has an implicit receiver. int invoke_arg_size(Bytecodes::Code code) const { int arg_size = _signature->size(); // Add a receiver argument, maybe: if (code != Bytecodes::_invokestatic && code != Bytecodes::_invokedynamic) { arg_size++; } return arg_size; }
// Can only be used on loaded ciMethods int arg_size() const { check_is_loaded(); return _signature->size() + (_flags.is_static() ? 0 : 1); }
int arg_size_no_receiver() const { return _signature->size(); }