hotspot/src/share/vm/classfile/classFileParser.cpp
changeset 19957 04a38bb9ba15
parent 19954 1642109d1a2c
parent 19770 7cb9f982ea81
child 20022 e6e3f5ff6d73
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp	Thu Sep 12 15:53:49 2013 +0400
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp	Fri Sep 13 10:34:15 2013 -0400
@@ -1787,6 +1787,10 @@
     if (_location != _in_method)  break;  // only allow for methods
     if (!privileged)              break;  // only allow in privileged code
     return _method_LambdaForm_Hidden;
+  case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_invoke_Stable_signature):
+    if (_location != _in_field)   break;  // only allow for fields
+    if (!privileged)              break;  // only allow in privileged code
+    return _field_Stable;
   case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_misc_Contended_signature):
     if (_location != _in_field && _location != _in_class)          break;  // only allow for fields and classes
     if (!EnableContended || (RestrictContended && !privileged))    break;  // honor privileges
@@ -1799,6 +1803,8 @@
 void ClassFileParser::FieldAnnotationCollector::apply_to(FieldInfo* f) {
   if (is_contended())
     f->set_contended_group(contended_group());
+  if (is_stable())
+    f->set_stable(true);
 }
 
 ClassFileParser::FieldAnnotationCollector::~FieldAnnotationCollector() {