hotspot/src/share/vm/oops/constantPoolOop.cpp
changeset 7111 ac1a0346bc0f
parent 6463 f4362c8da849
child 7114 65d21c4c6337
equal deleted inserted replaced
7110:e36cfdaf744a 7111:ac1a0346bc0f
   263 
   263 
   264 int constantPoolOopDesc::impl_name_and_type_ref_index_at(int which, bool uncached) {
   264 int constantPoolOopDesc::impl_name_and_type_ref_index_at(int which, bool uncached) {
   265   int i = which;
   265   int i = which;
   266   if (!uncached && cache() != NULL) {
   266   if (!uncached && cache() != NULL) {
   267     if (constantPoolCacheOopDesc::is_secondary_index(which)) {
   267     if (constantPoolCacheOopDesc::is_secondary_index(which)) {
   268       // Invokedynamic indexes are always processed in native order
   268       // Invokedynamic index.
   269       // so there is no question of reading a native u2 in Java order here.
       
   270       int pool_index = cache()->main_entry_at(which)->constant_pool_index();
   269       int pool_index = cache()->main_entry_at(which)->constant_pool_index();
   271       if (tag_at(pool_index).is_invoke_dynamic())
   270       if (tag_at(pool_index).is_invoke_dynamic())
   272         pool_index = invoke_dynamic_name_and_type_ref_index_at(pool_index);
   271         pool_index = invoke_dynamic_name_and_type_ref_index_at(pool_index);
   273       assert(tag_at(pool_index).is_name_and_type(), "");
   272       assert(tag_at(pool_index).is_name_and_type(), "");
   274       return pool_index;
   273       return pool_index;