src/share/vm/c1/c1_Compiler.hpp

Print this page
rev 4657 : Disable client compiler and switch to interpreter if there is not
enough memory to startup the client compiler.


  29 
  30 // There is one instance of the Compiler per CompilerThread.
  31 
  32 class Compiler: public AbstractCompiler {
  33 
  34  private:
  35 
  36  // Tracks whether runtime has been initialized
  37  static volatile int _runtimes;
  38 
  39  public:
  40   // Creation
  41   Compiler();
  42   ~Compiler();
  43 
  44   // Name of this compiler
  45   virtual const char* name()                     { return "C1"; }
  46 
  47   virtual bool is_c1()                           { return true; };
  48 
  49   BufferBlob* build_buffer_blob();
  50 
  51   // Missing feature tests
  52   virtual bool supports_native()                 { return true; }
  53   virtual bool supports_osr   ()                 { return true; }
  54 
  55   // Customization
  56   virtual bool needs_adapters         ()         { return false; }
  57   virtual bool needs_stubs            ()         { return false; }
  58 
  59   // Initialization
  60   virtual void initialize();
  61   static  void initialize_all();
  62 
  63   // Compilation entry point for methods
  64   virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci);
  65 
  66   // Print compilation timers and statistics
  67   virtual void print_timers();
  68 };
  69 


  29 
  30 // There is one instance of the Compiler per CompilerThread.
  31 
  32 class Compiler: public AbstractCompiler {
  33 
  34  private:
  35 
  36  // Tracks whether runtime has been initialized
  37  static volatile int _runtimes;
  38 
  39  public:
  40   // Creation
  41   Compiler();
  42   ~Compiler();
  43 
  44   // Name of this compiler
  45   virtual const char* name()                     { return "C1"; }
  46 
  47   virtual bool is_c1()                           { return true; };
  48 
  49   BufferBlob* get_buffer_blob(ciEnv* env);
  50 
  51   // Missing feature tests
  52   virtual bool supports_native()                 { return true; }
  53   virtual bool supports_osr   ()                 { return true; }
  54 
  55   // Customization
  56   virtual bool needs_adapters         ()         { return false; }
  57   virtual bool needs_stubs            ()         { return false; }
  58 
  59   // Initialization
  60   virtual void initialize();
  61   static  void initialize_all();
  62 
  63   // Compilation entry point for methods
  64   virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci);
  65 
  66   // Print compilation timers and statistics
  67   virtual void print_timers();
  68 };
  69