src/share/vm/compiler/compileBroker.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/compiler/compileBroker.hpp

src/share/vm/compiler/compileBroker.hpp

Print this page
rev 9003 : 8137167: JEP165: Compiler Control: Implementation task
Summary:
Reviewed-by:

*** 27,36 **** --- 27,37 ---- #include "ci/compilerInterface.hpp" #include "compiler/abstractCompiler.hpp" #include "compiler/compileTask.hpp" #include "runtime/perfData.hpp" + #include "utilities/stack.hpp" class nmethod; class nmethodLocker; // CompilerCounters
*** 136,145 **** --- 137,164 ---- public: CompileTaskWrapper(CompileTask* task); ~CompileTaskWrapper(); }; + class DirectivesStack : AllStatic { //public CHeapObj<mtCompiler> { + private: + static CompilerDirectives* _top; + static CompilerDirectives* _bottom; + static int _depth; + + static void pop_inner(); // no lock version of pop + public: + static void init(); + static DirectiveSet* getDefaultDirective(AbstractCompiler* comp); + static void push(CompilerDirectives* directive); + static void pop(); + static void clear(); + static DirectiveSet* getMatchingDirective(methodHandle mh, AbstractCompiler* comp); + static void print(outputStream* st); + static void release(DirectiveSet* set); + static void release(CompilerDirectives* dir); + }; // Compilation // // The broker for all compilation requests. class CompileBroker: AllStatic {
*** 244,254 **** static void invoke_compiler_on_method(CompileTask* task); static void set_last_compile(CompilerThread *thread, methodHandle method, bool is_osr, int comp_level); static void push_jni_handle_block(); static void pop_jni_handle_block(); - static bool check_break_at(methodHandle method, int compile_id, bool is_osr); static void collect_statistics(CompilerThread* thread, elapsedTimer time, CompileTask* task); static void compile_method_base(methodHandle method, int osr_bci, int comp_level, --- 263,272 ----
*** 259,269 **** static CompileQueue* compile_queue(int comp_level); static bool init_compiler_runtime(); static void shutdown_compiler_runtime(AbstractCompiler* comp, CompilerThread* thread); ! public: enum { // The entry bci used for non-OSR compilations. standard_entry_bci = InvocationEntryBci }; --- 277,291 ---- static CompileQueue* compile_queue(int comp_level); static bool init_compiler_runtime(); static void shutdown_compiler_runtime(AbstractCompiler* comp, CompilerThread* thread); ! public: ! ! static DirectivesStack* dirstack(); ! static void set_dirstack(DirectivesStack* stack); ! enum { // The entry bci used for non-OSR compilations. standard_entry_bci = InvocationEntryBci };
*** 273,282 **** --- 295,305 ---- return NULL; } static bool compilation_is_in_queue(methodHandle method); static void print_compile_queues(outputStream* st); + static void print_directives(outputStream* st); static int queue_size(int comp_level) { CompileQueue *q = compile_queue(comp_level); return q != NULL ? q->size() : 0; } static void compilation_init();
src/share/vm/compiler/compileBroker.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File