Example #1
0
 ciType* type() {
   if (at_return_type()) {
     return _sig->return_type();
   } else {
     return _sig->type_at(_pos);
   }
 }
 // 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(); }
 ciType*      return_type() const               { return _signature->return_type(); }
Example #6
0
 void next() {
   if (_pos <= _sig->count()) {
     _pos++;
   }
 }
Example #7
0
 bool is_done() { return _pos > _sig->count(); }
Example #8
0
 bool at_return_type() { return _pos == _sig->count(); }