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