src/share/vm/c1/c1_Compilation.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8028468 Sdiff src/share/vm/c1

src/share/vm/c1/c1_Compilation.hpp

Print this page




 242     return env()->comp_level() == CompLevel_full_profile &&
 243       C1UpdateMethodData && MethodData::profile_parameters();
 244   }
 245   bool profile_arguments() {
 246     return env()->comp_level() == CompLevel_full_profile &&
 247       C1UpdateMethodData && MethodData::profile_arguments();
 248   }
 249   bool profile_return() {
 250     return env()->comp_level() == CompLevel_full_profile &&
 251       C1UpdateMethodData && MethodData::profile_return();
 252   }
 253   // will compilation make optimistic assumptions that might lead to
 254   // deoptimization and that the runtime will account for?
 255   bool is_optimistic() const                             {
 256     return !TieredCompilation &&
 257       (RangeCheckElimination || UseLoopInvariantCodeMotion) &&
 258       method()->method_data()->trap_count(Deoptimization::Reason_none) == 0;
 259   }
 260 
 261   ciKlass* cha_exact_type(ciType* type);



 262 };
 263 
 264 
 265 // Macro definitions for unified bailout-support
 266 // The methods bailout() and bailed_out() are present in all classes
 267 // that might bailout, but forward all calls to Compilation
 268 #define BAILOUT(msg)               { bailout(msg); return;              }
 269 #define BAILOUT_(msg, res)         { bailout(msg); return res;          }
 270 
 271 #define CHECK_BAILOUT()            { if (bailed_out()) return;          }
 272 #define CHECK_BAILOUT_(res)        { if (bailed_out()) return res;      }
 273 
 274 
 275 class InstructionMark: public StackObj {
 276  private:
 277   Compilation* _compilation;
 278   Instruction*  _previous;
 279 
 280  public:
 281   InstructionMark(Compilation* compilation, Instruction* instr) {




 242     return env()->comp_level() == CompLevel_full_profile &&
 243       C1UpdateMethodData && MethodData::profile_parameters();
 244   }
 245   bool profile_arguments() {
 246     return env()->comp_level() == CompLevel_full_profile &&
 247       C1UpdateMethodData && MethodData::profile_arguments();
 248   }
 249   bool profile_return() {
 250     return env()->comp_level() == CompLevel_full_profile &&
 251       C1UpdateMethodData && MethodData::profile_return();
 252   }
 253   // will compilation make optimistic assumptions that might lead to
 254   // deoptimization and that the runtime will account for?
 255   bool is_optimistic() const                             {
 256     return !TieredCompilation &&
 257       (RangeCheckElimination || UseLoopInvariantCodeMotion) &&
 258       method()->method_data()->trap_count(Deoptimization::Reason_none) == 0;
 259   }
 260 
 261   ciKlass* cha_exact_type(ciType* type);
 262 
 263   // Dump inlining replay data to the stream.
 264   void dump_inline_data(outputStream* out) { /* do nothing now */ }
 265 };
 266 
 267 
 268 // Macro definitions for unified bailout-support
 269 // The methods bailout() and bailed_out() are present in all classes
 270 // that might bailout, but forward all calls to Compilation
 271 #define BAILOUT(msg)               { bailout(msg); return;              }
 272 #define BAILOUT_(msg, res)         { bailout(msg); return res;          }
 273 
 274 #define CHECK_BAILOUT()            { if (bailed_out()) return;          }
 275 #define CHECK_BAILOUT_(res)        { if (bailed_out()) return res;      }
 276 
 277 
 278 class InstructionMark: public StackObj {
 279  private:
 280   Compilation* _compilation;
 281   Instruction*  _previous;
 282 
 283  public:
 284   InstructionMark(Compilation* compilation, Instruction* instr) {


src/share/vm/c1/c1_Compilation.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File