hotspot/src/share/vm/runtime/deoptimization.cpp
changeset 14391 df0a1573d5bd
parent 13974 791cba24758f
child 14620 45167d2bc15a
child 14582 490bb6c0df7c
equal deleted inserted replaced
14390:bd0d881cf1c5 14391:df0a1573d5bd
  1189     return;
  1189     return;
  1190   }
  1190   }
  1191 
  1191 
  1192   if (!constant_pool->tag_at(index).is_symbol()) return;
  1192   if (!constant_pool->tag_at(index).is_symbol()) return;
  1193 
  1193 
  1194   Handle class_loader (THREAD, InstanceKlass::cast(constant_pool->pool_holder())->class_loader());
  1194   Handle class_loader (THREAD, constant_pool->pool_holder()->class_loader());
  1195   Symbol*  symbol  = constant_pool->symbol_at(index);
  1195   Symbol*  symbol  = constant_pool->symbol_at(index);
  1196 
  1196 
  1197   // class name?
  1197   // class name?
  1198   if (symbol->byte_at(0) != '(') {
  1198   if (symbol->byte_at(0) != '(') {
  1199     Handle protection_domain (THREAD, Klass::cast(constant_pool->pool_holder())->protection_domain());
  1199     Handle protection_domain (THREAD, constant_pool->pool_holder()->protection_domain());
  1200     SystemDictionary::resolve_or_null(symbol, class_loader, protection_domain, CHECK);
  1200     SystemDictionary::resolve_or_null(symbol, class_loader, protection_domain, CHECK);
  1201     return;
  1201     return;
  1202   }
  1202   }
  1203 
  1203 
  1204   // then it must be a signature!
  1204   // then it must be a signature!
  1205   ResourceMark rm(THREAD);
  1205   ResourceMark rm(THREAD);
  1206   for (SignatureStream ss(symbol); !ss.is_done(); ss.next()) {
  1206   for (SignatureStream ss(symbol); !ss.is_done(); ss.next()) {
  1207     if (ss.is_object()) {
  1207     if (ss.is_object()) {
  1208       Symbol* class_name = ss.as_symbol(CHECK);
  1208       Symbol* class_name = ss.as_symbol(CHECK);
  1209       Handle protection_domain (THREAD, Klass::cast(constant_pool->pool_holder())->protection_domain());
  1209       Handle protection_domain (THREAD, constant_pool->pool_holder()->protection_domain());
  1210       SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, CHECK);
  1210       SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, CHECK);
  1211     }
  1211     }
  1212   }
  1212   }
  1213 }
  1213 }
  1214 
  1214