src/share/vm/opto/callGenerator.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/opto

src/share/vm/opto/callGenerator.hpp

Print this page




 127   static CallGenerator* for_method_handle_call(  JVMState* jvms, ciMethod* caller, ciMethod* callee, bool delayed_forbidden);
 128   static CallGenerator* for_method_handle_inline(JVMState* jvms, ciMethod* caller, ciMethod* callee, bool& input_not_const);
 129 
 130   // How to generate a replace a direct call with an inline version
 131   static CallGenerator* for_late_inline(ciMethod* m, CallGenerator* inline_cg);
 132   static CallGenerator* for_mh_late_inline(ciMethod* caller, ciMethod* callee, bool input_not_const);
 133   static CallGenerator* for_string_late_inline(ciMethod* m, CallGenerator* inline_cg);
 134   static CallGenerator* for_boxing_late_inline(ciMethod* m, CallGenerator* inline_cg);
 135 
 136   // How to make a call but defer the decision whether to inline or not.
 137   static CallGenerator* for_warm_call(WarmCallInfo* ci,
 138                                       CallGenerator* if_cold,
 139                                       CallGenerator* if_hot);
 140 
 141   // How to make a call that optimistically assumes a receiver type:
 142   static CallGenerator* for_predicted_call(ciKlass* predicted_receiver,
 143                                            CallGenerator* if_missed,
 144                                            CallGenerator* if_hit,
 145                                            float hit_prob);
 146 




 147   // How to make a call that optimistically assumes a MethodHandle target:
 148   static CallGenerator* for_predicted_dynamic_call(ciMethodHandle* predicted_method_handle,
 149                                                    CallGenerator* if_missed,
 150                                                    CallGenerator* if_hit,
 151                                                    float hit_prob);
 152 
 153   // How to make a call that gives up and goes back to the interpreter:
 154   static CallGenerator* for_uncommon_trap(ciMethod* m,
 155                                           Deoptimization::DeoptReason reason,
 156                                           Deoptimization::DeoptAction action);
 157 
 158   // Registry for intrinsics:
 159   static CallGenerator* for_intrinsic(ciMethod* m);
 160   static void register_intrinsic(ciMethod* m, CallGenerator* cg);
 161   static CallGenerator* for_predicated_intrinsic(CallGenerator* intrinsic,
 162                                                  CallGenerator* cg);
 163   virtual Node* generate_predicate(JVMState* jvms, int predicate) { return NULL; };
 164 
 165   virtual void print_inlining_late(const char* msg) { ShouldNotReachHere(); }
 166 




 127   static CallGenerator* for_method_handle_call(  JVMState* jvms, ciMethod* caller, ciMethod* callee, bool delayed_forbidden);
 128   static CallGenerator* for_method_handle_inline(JVMState* jvms, ciMethod* caller, ciMethod* callee, bool& input_not_const);
 129 
 130   // How to generate a replace a direct call with an inline version
 131   static CallGenerator* for_late_inline(ciMethod* m, CallGenerator* inline_cg);
 132   static CallGenerator* for_mh_late_inline(ciMethod* caller, ciMethod* callee, bool input_not_const);
 133   static CallGenerator* for_string_late_inline(ciMethod* m, CallGenerator* inline_cg);
 134   static CallGenerator* for_boxing_late_inline(ciMethod* m, CallGenerator* inline_cg);
 135 
 136   // How to make a call but defer the decision whether to inline or not.
 137   static CallGenerator* for_warm_call(WarmCallInfo* ci,
 138                                       CallGenerator* if_cold,
 139                                       CallGenerator* if_hot);
 140 
 141   // How to make a call that optimistically assumes a receiver type:
 142   static CallGenerator* for_predicted_call(ciKlass* predicted_receiver,
 143                                            CallGenerator* if_missed,
 144                                            CallGenerator* if_hit,
 145                                            float hit_prob);
 146 
 147   static CallGenerator* for_guarded_call(ciKlass* predicted_receiver,
 148                                          CallGenerator* if_missed,
 149                                          CallGenerator* if_hit);
 150 
 151   // How to make a call that optimistically assumes a MethodHandle target:
 152   static CallGenerator* for_predicted_dynamic_call(ciMethodHandle* predicted_method_handle,
 153                                                    CallGenerator* if_missed,
 154                                                    CallGenerator* if_hit,
 155                                                    float hit_prob);
 156 
 157   // How to make a call that gives up and goes back to the interpreter:
 158   static CallGenerator* for_uncommon_trap(ciMethod* m,
 159                                           Deoptimization::DeoptReason reason,
 160                                           Deoptimization::DeoptAction action);
 161 
 162   // Registry for intrinsics:
 163   static CallGenerator* for_intrinsic(ciMethod* m);
 164   static void register_intrinsic(ciMethod* m, CallGenerator* cg);
 165   static CallGenerator* for_predicated_intrinsic(CallGenerator* intrinsic,
 166                                                  CallGenerator* cg);
 167   virtual Node* generate_predicate(JVMState* jvms, int predicate) { return NULL; };
 168 
 169   virtual void print_inlining_late(const char* msg) { ShouldNotReachHere(); }
 170 


src/share/vm/opto/callGenerator.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File