equal
deleted
inserted
replaced
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 |