comparison src/share/vm/oops/methodOop.cpp @ 1662:e0ba4e04c839

6969574: invokedynamic call sites deoptimize instead of executing Reviewed-by: kvn
author jrose
date Fri, 16 Jul 2010 18:14:19 -0700
parents c18cbe5936b8
children d2ede61b7a12
comparison
equal deleted inserted replaced
1661:01b172b8cd7c 1662: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,