src/share/vm/oops/methodOop.cpp

changeset 2017
e0ba4e04c839
parent 1907
c18cbe5936b8
child 2047
d2ede61b7a12
equal deleted inserted replaced
2016:01b172b8cd7c 2017:e0ba4e04c839
849 // 849 //
850 // Tests if this method is an internal adapter frame from the 850 // Tests if this method is an internal adapter frame from the
851 // MethodHandleCompiler. 851 // MethodHandleCompiler.
852 // Must be consistent with MethodHandleCompiler::get_method_oop(). 852 // Must be consistent with MethodHandleCompiler::get_method_oop().
853 bool methodOopDesc::is_method_handle_adapter() const { 853 bool methodOopDesc::is_method_handle_adapter() const {
854 return (is_method_handle_invoke_name(name()) && 854 if (is_synthetic() &&
855 is_synthetic() && 855 !is_native() && // has code from MethodHandleCompiler
856 MethodHandleCompiler::klass_is_method_handle_adapter_holder(method_holder())); 856 is_method_handle_invoke_name(name()) &&
857 MethodHandleCompiler::klass_is_method_handle_adapter_holder(method_holder())) {
858 assert(!is_method_handle_invoke(), "disjoint");
859 return true;
860 } else {
861 return false;
862 }
857 } 863 }
858 864
859 methodHandle methodOopDesc::make_invoke_method(KlassHandle holder, 865 methodHandle methodOopDesc::make_invoke_method(KlassHandle holder,
860 symbolHandle name, 866 symbolHandle name,
861 symbolHandle signature, 867 symbolHandle signature,

mercurial