1.1 --- a/src/share/vm/classfile/classFileParser.cpp Thu Oct 03 19:13:12 2013 +0100 1.2 +++ b/src/share/vm/classfile/classFileParser.cpp Mon Oct 21 14:08:09 2013 +0100 1.3 @@ -1787,7 +1787,7 @@ 1.4 if (_location != _in_method) break; // only allow for methods 1.5 if (!privileged) break; // only allow in privileged code 1.6 return _method_LambdaForm_Hidden; 1.7 - case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_invoke_Stable_signature): 1.8 + case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_Stable_signature): 1.9 if (_location != _in_field) break; // only allow for fields 1.10 if (!privileged) break; // only allow in privileged code 1.11 return _field_Stable; 1.12 @@ -2545,7 +2545,9 @@ 1.13 if (method->is_final()) { 1.14 *has_final_method = true; 1.15 } 1.16 - if (is_interface && !method->is_abstract() && !method->is_static()) { 1.17 + if (is_interface && !(*has_default_methods) 1.18 + && !method->is_abstract() && !method->is_static() 1.19 + && !method->is_private()) { 1.20 // default method 1.21 *has_default_methods = true; 1.22 } 1.23 @@ -4078,8 +4080,7 @@ 1.24 1.25 // Generate any default methods - default methods are interface methods 1.26 // that have a default implementation. This is new with Lambda project. 1.27 - if (has_default_methods && !access_flags.is_interface() && 1.28 - local_interfaces->length() > 0) { 1.29 + if (has_default_methods && !access_flags.is_interface() ) { 1.30 DefaultMethods::generate_default_methods( 1.31 this_klass(), &all_mirandas, CHECK_(nullHandle)); 1.32 }