comparison src/share/vm/c1/c1_Compiler.hpp @ 12880:469216acdb28

8023014: CodeSweeperSweepNoFlushTest.java fails with HS crash Summary: Ensure ensure correct initialization of compiler runtime Reviewed-by: kvn, twisti
author anoll
date Thu, 10 Oct 2013 15:44:12 +0200
parents 01e51113b4f5
children de6a9e811145
comparison
equal deleted inserted replaced
12876:8b80b262e501 12880:469216acdb28
28 #include "compiler/abstractCompiler.hpp" 28 #include "compiler/abstractCompiler.hpp"
29 29
30 // There is one instance of the Compiler per CompilerThread. 30 // There is one instance of the Compiler per CompilerThread.
31 31
32 class Compiler: public AbstractCompiler { 32 class Compiler: public AbstractCompiler {
33
34 private: 33 private:
35 34 static void init_c1_runtime();
36 // Tracks whether runtime has been initialized 35 BufferBlob* init_buffer_blob();
37 static volatile int _runtimes;
38 36
39 public: 37 public:
40 // Creation 38 // Creation
41 Compiler(); 39 Compiler();
42 ~Compiler(); 40 ~Compiler();
44 // Name of this compiler 42 // Name of this compiler
45 virtual const char* name() { return "C1"; } 43 virtual const char* name() { return "C1"; }
46 44
47 virtual bool is_c1() { return true; }; 45 virtual bool is_c1() { return true; };
48 46
49 BufferBlob* get_buffer_blob(ciEnv* env);
50
51 // Missing feature tests 47 // Missing feature tests
52 virtual bool supports_native() { return true; } 48 virtual bool supports_native() { return true; }
53 virtual bool supports_osr () { return true; } 49 virtual bool supports_osr () { return true; }
54 50
55 // Customization
56 virtual bool needs_adapters () { return false; }
57 virtual bool needs_stubs () { return false; }
58
59 // Initialization 51 // Initialization
60 virtual void initialize(); 52 virtual void initialize();
61 static void initialize_all();
62 53
63 // Compilation entry point for methods 54 // Compilation entry point for methods
64 virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci); 55 virtual void compile_method(ciEnv* env, ciMethod* target, int entry_bci);
65 56
66 // Print compilation timers and statistics 57 // Print compilation timers and statistics