Mercurial > hg > truffle
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, |