ciKlass* ciBytecodeStream::get_klass() const {
  bool will_link;
  ciKlass* k = CURRENT_ENV->get_klass_by_index(method()->holder(), get_klass_index(), will_link);
  if (!will_link && k->is_loaded()) {
    GUARDED_VM_ENTRY(
      k = CURRENT_ENV->get_unloaded_klass(method()->holder(), k->name());
    )
  }
Example #2
0
// ------------------------------------------------------------------
// ciBytecodeStream::get_klass
//
// If this bytecode is a new, newarray, multianewarray, instanceof,
// or checkcast, get the referenced klass.
ciKlass* ciBytecodeStream::get_klass(bool& will_link) {
  VM_ENTRY_MARK;
  constantPoolHandle cpool(_method->get_methodOop()->constants());
  return CURRENT_ENV->get_klass_by_index(cpool, get_klass_index(), will_link, _holder);
}
Example #3
0
 // True if the klass-using bytecode points to an unresolved klass
 bool is_unresolved_klass() const {
   constantTag tag = get_constant_pool_tag(get_klass_index());
   return tag.is_unresolved_klass();
 }