< prev index next >

src/hotspot/share/opto/c2compiler.hpp

Print this page

35 public:
36   C2Compiler() : AbstractCompiler(compiler_c2) {}
37 
38   // Name
39   const char *name() { return "C2"; }
40   void initialize();
41 
42   // Compilation entry point for methods
43   void compile_method(ciEnv* env,
44                       ciMethod* target,
45                       int entry_bci,
46                       bool install_code,
47                       DirectiveSet* directive);
48 
49   // sentinel value used to trigger backtracking in compile_method().
50   static const char* retry_no_subsuming_loads();
51   static const char* retry_no_escape_analysis();
52   static const char* retry_no_iterative_escape_analysis();
53   static const char* retry_no_reduce_allocation_merges();
54   static const char* retry_no_locks_coarsening();

55   static const char* retry_no_superword();
56 
57   // Print compilation timers and statistics
58   void print_timers();
59 
60   // Return true if the intrinsification of a method supported by the compiler
61   // assuming a non-virtual dispatch. (A virtual dispatch is
62   // possible for only a limited set of available intrinsics whereas
63   // a non-virtual dispatch is possible for all available intrinsics.)
64   // Return false otherwise.
65   virtual bool is_intrinsic_supported(const methodHandle& method);
66 
67   // Return true if the intrinsic `id` is supported by C2
68   static bool is_intrinsic_supported(vmIntrinsics::ID id);
69   // Initial size of the code buffer (may be increased at runtime)
70   static int initial_code_buffer_size(int const_size = initial_const_capacity);
71 };
72 
73 #endif // SHARE_OPTO_C2COMPILER_HPP

35 public:
36   C2Compiler() : AbstractCompiler(compiler_c2) {}
37 
38   // Name
39   const char *name() { return "C2"; }
40   void initialize();
41 
42   // Compilation entry point for methods
43   void compile_method(ciEnv* env,
44                       ciMethod* target,
45                       int entry_bci,
46                       bool install_code,
47                       DirectiveSet* directive);
48 
49   // sentinel value used to trigger backtracking in compile_method().
50   static const char* retry_no_subsuming_loads();
51   static const char* retry_no_escape_analysis();
52   static const char* retry_no_iterative_escape_analysis();
53   static const char* retry_no_reduce_allocation_merges();
54   static const char* retry_no_locks_coarsening();
55   static const char* retry_no_clinit_barriers();
56   static const char* retry_no_superword();
57 
58   // Print compilation timers and statistics
59   void print_timers();
60 
61   // Return true if the intrinsification of a method supported by the compiler
62   // assuming a non-virtual dispatch. (A virtual dispatch is
63   // possible for only a limited set of available intrinsics whereas
64   // a non-virtual dispatch is possible for all available intrinsics.)
65   // Return false otherwise.
66   virtual bool is_intrinsic_supported(const methodHandle& method);
67 
68   // Return true if the intrinsic `id` is supported by C2
69   static bool is_intrinsic_supported(vmIntrinsics::ID id);
70   // Initial size of the code buffer (may be increased at runtime)
71   static int initial_code_buffer_size(int const_size = initial_const_capacity);
72 };
73 
74 #endif // SHARE_OPTO_C2COMPILER_HPP
< prev index next >