hotspot/src/share/vm/classfile/classFileParser.cpp
changeset 38060 954c9575f653
parent 38033 996ce936543f
parent 37480 291ee208fb72
child 38147 c020feaafdcb
equal deleted inserted replaced
38059:86ab3f0a9f87 38060:954c9575f653
  1965   // Privileged code can use all annotations.  Other code silently drops some.
  1965   // Privileged code can use all annotations.  Other code silently drops some.
  1966   const bool privileged = loader_data->is_the_null_class_loader_data() ||
  1966   const bool privileged = loader_data->is_the_null_class_loader_data() ||
  1967                           loader_data->is_platform_class_loader_data() ||
  1967                           loader_data->is_platform_class_loader_data() ||
  1968                           loader_data->is_anonymous();
  1968                           loader_data->is_anonymous();
  1969   switch (sid) {
  1969   switch (sid) {
  1970     case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_reflect_CallerSensitive_signature): {
  1970     case vmSymbols::VM_SYMBOL_ENUM_NAME(reflect_CallerSensitive_signature): {
  1971       if (_location != _in_method)  break;  // only allow for methods
  1971       if (_location != _in_method)  break;  // only allow for methods
  1972       if (!privileged)              break;  // only allow in privileged code
  1972       if (!privileged)              break;  // only allow in privileged code
  1973       return _method_CallerSensitive;
  1973       return _method_CallerSensitive;
  1974     }
  1974     }
  1975     case vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_internal_vm_annotation_ForceInline_signature): {
  1975     case vmSymbols::VM_SYMBOL_ENUM_NAME(jdk_internal_vm_annotation_ForceInline_signature): {
  2711 
  2711 
  2712   // Fill in information from fixed part (access_flags already set)
  2712   // Fill in information from fixed part (access_flags already set)
  2713   m->set_constants(_cp);
  2713   m->set_constants(_cp);
  2714   m->set_name_index(name_index);
  2714   m->set_name_index(name_index);
  2715   m->set_signature_index(signature_index);
  2715   m->set_signature_index(signature_index);
  2716 #ifdef CC_INTERP
  2716 
  2717   // hmm is there a gc issue here??
       
  2718   ResultTypeFinder rtf(cp->symbol_at(signature_index));
  2717   ResultTypeFinder rtf(cp->symbol_at(signature_index));
  2719   m->set_result_index(rtf.type());
  2718   m->constMethod()->set_result_type(rtf.type());
  2720 #endif
       
  2721 
  2719 
  2722   if (args_size >= 0) {
  2720   if (args_size >= 0) {
  2723     m->set_size_of_parameters(args_size);
  2721     m->set_size_of_parameters(args_size);
  2724   } else {
  2722   } else {
  2725     m->compute_size_of_parameters(THREAD);
  2723     m->compute_size_of_parameters(THREAD);