< prev index next >

src/share/vm/opto/parse.hpp

Print this page
rev 12109 : 8167656: Unstable MethodHandle inlining causing huge performance variations
Summary: Don't forbid inlining of method handles without type profile
Reviewed-by:

@@ -74,11 +74,12 @@
                             ciMethod* caller_method,
                             int caller_bci,
                             JVMState* jvms,
                             ciCallProfile& profile,
                             WarmCallInfo* wci_result,
-                            bool& should_delay);
+                            bool& should_delay,
+                            bool is_mh_inline);
   bool        should_inline(ciMethod* callee_method,
                             ciMethod* caller_method,
                             int caller_bci,
                             ciCallProfile& profile,
                             WarmCallInfo* wci_result);

@@ -113,11 +114,11 @@
   //
   // If the method is inlinable, a new inline subtree is created on the fly,
   // and may be accessed by find_subtree_from_root.
   // The call_method is the dest_method for a special or static invocation.
   // The call_method is an optimized virtual method candidate otherwise.
-  WarmCallInfo* ok_to_inline(ciMethod *call_method, JVMState* caller_jvms, ciCallProfile& profile, WarmCallInfo* wci, bool& should_delay);
+  WarmCallInfo* ok_to_inline(ciMethod *call_method, JVMState* caller_jvms, ciCallProfile& profile, WarmCallInfo* wci, bool& should_delay, bool is_mh_inline);
 
   // Information about inlined method
   JVMState*   caller_jvms()       const { return _caller_jvms; }
   ciMethod   *method()            const { return _method; }
   int         caller_bci()        const { return _caller_jvms ? _caller_jvms->bci() : InvocationEntryBci; }
< prev index next >