Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/classFileParser.cpp @ 17475:6795fcebbf42
Merge
author | chegar |
---|---|
date | Mon, 21 Oct 2013 14:08:09 +0100 |
parents | 6fa574bfd32a 1a93f2c5945a |
children | 0611ce949aaa |
comparison
equal
deleted
inserted
replaced
17474:6fa574bfd32a | 17475:6795fcebbf42 |
---|---|
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): | 1790 case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_Stable_signature): |
1791 if (_location != _in_field) break; // only allow for fields | 1791 if (_location != _in_field) break; // only allow for fields |
1792 if (!privileged) break; // only allow in privileged code | 1792 if (!privileged) break; // only allow in privileged code |
1793 return _field_Stable; | 1793 return _field_Stable; |
1794 case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_misc_Contended_signature): | 1794 case vmSymbols::VM_SYMBOL_ENUM_NAME(sun_misc_Contended_signature): |
1795 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 |
2543 CHECK_NULL); | 2543 CHECK_NULL); |
2544 | 2544 |
2545 if (method->is_final()) { | 2545 if (method->is_final()) { |
2546 *has_final_method = true; | 2546 *has_final_method = true; |
2547 } | 2547 } |
2548 if (is_interface && !method->is_abstract() && !method->is_static()) { | 2548 if (is_interface && !(*has_default_methods) |
2549 && !method->is_abstract() && !method->is_static() | |
2550 && !method->is_private()) { | |
2549 // default method | 2551 // default method |
2550 *has_default_methods = true; | 2552 *has_default_methods = true; |
2551 } | 2553 } |
2552 _methods->at_put(index, method()); | 2554 _methods->at_put(index, method()); |
2553 } | 2555 } |
4076 java_lang_Class::create_mirror(this_klass, protection_domain, CHECK_(nullHandle)); | 4078 java_lang_Class::create_mirror(this_klass, protection_domain, CHECK_(nullHandle)); |
4077 | 4079 |
4078 | 4080 |
4079 // Generate any default methods - default methods are interface methods | 4081 // Generate any default methods - default methods are interface methods |
4080 // that have a default implementation. This is new with Lambda project. | 4082 // that have a default implementation. This is new with Lambda project. |
4081 if (has_default_methods && !access_flags.is_interface() && | 4083 if (has_default_methods && !access_flags.is_interface() ) { |
4082 local_interfaces->length() > 0) { | |
4083 DefaultMethods::generate_default_methods( | 4084 DefaultMethods::generate_default_methods( |
4084 this_klass(), &all_mirandas, CHECK_(nullHandle)); | 4085 this_klass(), &all_mirandas, CHECK_(nullHandle)); |
4085 } | 4086 } |
4086 | 4087 |
4087 // Update the loader_data graph. | 4088 // Update the loader_data graph. |