34 public: 35 C2Compiler() : AbstractCompiler(c2) {} 36 37 // Name 38 const char *name() { return "C2"; } 39 void initialize(); 40 41 // Compilation entry point for methods 42 void compile_method(ciEnv* env, 43 ciMethod* target, 44 int entry_bci); 45 46 // sentinel value used to trigger backtracking in compile_method(). 47 static const char* retry_no_subsuming_loads(); 48 static const char* retry_no_escape_analysis(); 49 static const char* retry_class_loading_during_parsing(); 50 51 // Print compilation timers and statistics 52 void print_timers(); 53 54 // Check the availability of an intrinsic for 'method' given a compilation context. 55 virtual bool is_intrinsic_available(methodHandle method, methodHandle compilation_context); 56 57 // Return true if the intrinsification of a method supported by the compiler 58 // assuming a non-virtual dispatch. Return false otherwise. 59 virtual bool is_intrinsic_supported(methodHandle method) { 60 return is_intrinsic_supported(method, false); 61 } 62 63 // Check if the compiler supports an intrinsic for 'method' given the 64 // the dispatch mode specified by the 'is_virtual' parameter. 65 virtual bool is_intrinsic_supported(methodHandle method, bool is_virtual); 66 67 // Processing of command-line flags specific to the C2 compiler. 68 virtual bool is_intrinsic_disabled_by_flag(methodHandle method) { 69 return is_intrinsic_disabled_by_flag(method, NULL); 70 } 71 72 virtual bool is_intrinsic_disabled_by_flag(methodHandle method, methodHandle compilation_context); 73 74 // Initial size of the code buffer (may be increased at runtime) 75 static int initial_code_buffer_size(); 76 }; 77 78 #endif // SHARE_VM_OPTO_C2COMPILER_HPP | 34 public: 35 C2Compiler() : AbstractCompiler(c2) {} 36 37 // Name 38 const char *name() { return "C2"; } 39 void initialize(); 40 41 // Compilation entry point for methods 42 void compile_method(ciEnv* env, 43 ciMethod* target, 44 int entry_bci); 45 46 // sentinel value used to trigger backtracking in compile_method(). 47 static const char* retry_no_subsuming_loads(); 48 static const char* retry_no_escape_analysis(); 49 static const char* retry_class_loading_during_parsing(); 50 51 // Print compilation timers and statistics 52 void print_timers(); 53 54 // Return true if the intrinsification of a method supported by the compiler 55 // assuming a non-virtual dispatch. (A virtual dispatch is 56 // possible for only a limited set of available intrinsics whereas 57 // a non-virtual dispatch is possible for all available intrinsics.) 58 // Return false otherwise. 59 virtual bool is_intrinsic_supported(methodHandle method) { 60 return is_intrinsic_supported(method, false); 61 } 62 63 // Check if the compiler supports an intrinsic for 'method' given the 64 // the dispatch mode specified by the 'is_virtual' parameter. 65 virtual bool is_intrinsic_supported(methodHandle method, bool is_virtual); 66 67 // Initial size of the code buffer (may be increased at runtime) 68 static int initial_code_buffer_size(); 69 }; 70 71 #endif // SHARE_VM_OPTO_C2COMPILER_HPP |