20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_COMPILER_COMPILEBROKER_HPP 26 #define SHARE_VM_COMPILER_COMPILEBROKER_HPP 27 28 #include "ci/compilerInterface.hpp" 29 #include "compiler/abstractCompiler.hpp" 30 #include "runtime/perfData.hpp" 31 32 class nmethod; 33 class nmethodLocker; 34 35 // CompileTask 36 // 37 // An entry in the compile queue. It represents a pending or current 38 // compilation. 39 class CompileTask : public CHeapObj { 40 private: 41 Monitor* _lock; 42 uint _compile_id; 43 jobject _method; 44 int _osr_bci; 45 bool _is_complete; 46 bool _is_success; 47 bool _is_blocking; 48 int _comp_level; 49 int _num_inlined_bytecodes; 50 nmethodLocker* _code_handle; // holder of eventual result 51 CompileTask* _next, *_prev; 52 53 // Fields used for logging why the compilation was initiated: 54 jlong _time_queued; // in units of os::elapsed_counter() 55 jobject _hot_method; // which method actually triggered this task 56 int _hot_count; // information about its invocation counter 57 const char* _comment; // more info about the task 58 59 public: | 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 * 23 */ 24 25 #ifndef SHARE_VM_COMPILER_COMPILEBROKER_HPP 26 #define SHARE_VM_COMPILER_COMPILEBROKER_HPP 27 28 #include "ci/compilerInterface.hpp" 29 #include "compiler/abstractCompiler.hpp" 30 #include "runtime/perfData.hpp" 31 32 class nmethod; 33 class nmethodLocker; 34 35 // CompileTask 36 // 37 // An entry in the compile queue. It represents a pending or current 38 // compilation. 39 class CompileTask : public CHeapObj { 40 friend class VMStructs; 41 42 private: 43 Monitor* _lock; 44 uint _compile_id; 45 jobject _method; 46 int _osr_bci; 47 bool _is_complete; 48 bool _is_success; 49 bool _is_blocking; 50 int _comp_level; 51 int _num_inlined_bytecodes; 52 nmethodLocker* _code_handle; // holder of eventual result 53 CompileTask* _next, *_prev; 54 55 // Fields used for logging why the compilation was initiated: 56 jlong _time_queued; // in units of os::elapsed_counter() 57 jobject _hot_method; // which method actually triggered this task 58 int _hot_count; // information about its invocation counter 59 const char* _comment; // more info about the task 60 61 public: |