--- old/src/share/vm/classfile/classFileParser.cpp 2015-12-01 16:57:40.747530108 +0100 +++ new/src/share/vm/classfile/classFileParser.cpp 2015-12-01 16:57:40.490504345 +0100 @@ -1768,6 +1768,10 @@ if (_location != _in_field && _location != _in_class) break; // only allow for fields and classes if (!EnableContended || (RestrictContended && !privileged)) break; // honor privileges return _sun_misc_Contended; + case vmSymbols::VM_SYMBOL_ENUM_NAME(vm_annotation_ReservedStackAccess_signature): + if (_location != _in_method) break; // only allow for methods + if (RestrictReservedStack && !privileged) break; // honor privileges + return _vm_annotation_ReservedStackAccess; default: break; } return AnnotationCollector::_unknown; @@ -1801,6 +1805,8 @@ m->set_hidden(true); if (has_annotation(_method_HotSpotIntrinsicCandidate) && !m->is_synthetic()) m->set_intrinsic_candidate(true); + if (has_annotation(_vm_annotation_ReservedStackAccess)) + m->set_has_reserved_stack_access(true); } void ClassFileParser::ClassAnnotationCollector::apply_to(instanceKlassHandle k) {