hotspot/src/share/vm/c1/c1_Compiler.hpp
changeset 5707 6c66849ed24e
parent 5547 f4b087cbb361
child 6453 970dc585ab63
equal deleted inserted replaced
5706:0c91076143f9 5707:6c66849ed24e
    29  private:
    29  private:
    30 
    30 
    31  // Tracks whether runtime has been initialized
    31  // Tracks whether runtime has been initialized
    32  static volatile int _runtimes;
    32  static volatile int _runtimes;
    33 
    33 
    34  // In tiered it is possible for multiple threads to want to do compilation
       
    35  // only one can enter c1 at a time
       
    36  static volatile bool _compiling;
       
    37 
       
    38  public:
    34  public:
    39   // Creation
    35   // Creation
    40   Compiler();
    36   Compiler();
    41   ~Compiler();
    37   ~Compiler();
    42 
    38 
    45 
    41 
    46 #ifdef TIERED
    42 #ifdef TIERED
    47   virtual bool is_c1() { return true; };
    43   virtual bool is_c1() { return true; };
    48 #endif // TIERED
    44 #endif // TIERED
    49 
    45 
       
    46   BufferBlob* build_buffer_blob();
    50 
    47 
    51   // Missing feature tests
    48   // Missing feature tests
    52   virtual bool supports_native()                 { return true; }
    49   virtual bool supports_native()                 { return true; }
    53   virtual bool supports_osr   ()                 { return true; }
    50   virtual bool supports_osr   ()                 { return true; }
    54 
    51 
    56   virtual bool needs_adapters         ()         { return false; }
    53   virtual bool needs_adapters         ()         { return false; }
    57   virtual bool needs_stubs            ()         { return false; }
    54   virtual bool needs_stubs            ()         { return false; }
    58 
    55 
    59   // Initialization
    56   // Initialization
    60   virtual void initialize();
    57   virtual void initialize();
       
    58   static  void initialize_all();
    61 
    59 
    62   // Compilation entry point for methods
    60   // Compilation entry point for methods
    63   virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci);
    61   virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci);
    64 
    62 
    65   // Print compilation timers and statistics
    63   // Print compilation timers and statistics