comparison src/share/vm/classfile/classFileParser.cpp @ 12204:225cedaf9a4b

Merge
author zgu
date Fri, 13 Sep 2013 10:34:15 -0400
parents b6767a18b379 edb5ab0f3fe5
children da051ce490eb
comparison
equal deleted inserted replaced
12203:1c6b721a3fbf 12204:225cedaf9a4b
1785 return _method_LambdaForm_Compiled; 1785 return _method_LambdaForm_Compiled;
1786 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_LambdaForm_Hidden_signature): 1786 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_LambdaForm_Hidden_signature):
1787 if (_location != _in_method) break; // only allow for methods 1787 if (_location != _in_method) break; // only allow for methods
1788 if (!privileged) break; // only allow in privileged code 1788 if (!privileged) break; // only allow in privileged code
1789 return _method_LambdaForm_Hidden; 1789 return _method_LambdaForm_Hidden;
1790 case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_invoke_Stable_signature):
1791 if (_location != _in_field) break; // only allow for fields
1792 if (!privileged) break; // only allow in privileged code
1793 return _field_Stable;
1790 case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_misc_Contended_signature): 1794 case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_misc_Contended_signature):
1791 if (_location != _in_field && _location != _in_class) break; // only allow for fields and classes 1795 if (_location != _in_field && _location != _in_class) break; // only allow for fields and classes
1792 if (!EnableContended || (RestrictContended && !privileged)) break; // honor privileges 1796 if (!EnableContended || (RestrictContended && !privileged)) break; // honor privileges
1793 return _sun_misc_Contended; 1797 return _sun_misc_Contended;
1794 default: break; 1798 default: break;
1797 } 1801 }
1798 1802
1799 void ClassFileParser::FieldAnnotationCollector::apply_to(FieldInfo* f) { 1803 void ClassFileParser::FieldAnnotationCollector::apply_to(FieldInfo* f) {
1800 if (is_contended()) 1804 if (is_contended())
1801 f->set_contended_group(contended_group()); 1805 f->set_contended_group(contended_group());
1806 if (is_stable())
1807 f->set_stable(true);
1802 } 1808 }
1803 1809
1804 ClassFileParser::FieldAnnotationCollector::~FieldAnnotationCollector() { 1810 ClassFileParser::FieldAnnotationCollector::~FieldAnnotationCollector() {
1805 // If there's an error deallocate metadata for field annotations 1811 // If there's an error deallocate metadata for field annotations
1806 MetadataFactory::free_array<u1>(_loader_data, _field_annotations); 1812 MetadataFactory::free_array<u1>(_loader_data, _field_annotations);