< prev index next >

src/hotspot/share/opto/c2compiler.hpp

Print this page

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

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

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