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 10831 : 8153013: BlockingCompilation test times out
Summary: Task has no invocation count and get stale at once
Reviewed-by: kvn

*** 230,240 **** const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! const char* comment, bool blocking); static void wait_for_completion(CompileTask* task); #if INCLUDE_JVMCI static bool wait_for_jvmci_completion(JVMCICompiler* comp, CompileTask* task, JavaThread* thread); #endif --- 230,240 ---- const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! int compile_reason, bool blocking); static void wait_for_completion(CompileTask* task); #if INCLUDE_JVMCI static bool wait_for_jvmci_completion(JVMCICompiler* comp, CompileTask* task, JavaThread* thread); #endif
*** 249,268 **** static void compile_method_base(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! const char* comment, bool blocking, Thread* thread); 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. --- 249,287 ---- static void compile_method_base(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! int compile_reason, bool blocking, Thread* thread); static CompileQueue* compile_queue(int comp_level); static bool init_compiler_runtime(); static void shutdown_compiler_runtime(AbstractCompiler* comp, CompilerThread* thread); public: + // Different reasons for a compilation + // The order is important - Reason_Whitebox and higher can not become stale, see + // CompileTask::can_become_stale() + // Also mapped to reason_names[] + enum CompileReason { + Reason_None, + Reason_InvocationCount, // Simple/StackWalk-policy + Reason_BackedgeCount, // Simple/StackWalk-policy + Reason_Tiered, // Tiered-policy + Reason_CTW, // Compile the world + Reason_Replay, // ciReplay + Reason_Whitebox, // Whitebox API + Reason_MustBeCompiled, // Java callHelper, LinkResolver + Reason_Bootstrap, // JVMCI bootstrap + Reason_Count + }; + + static const char * reason_names[]; + static DirectivesStack* dirstack(); static void set_dirstack(DirectivesStack* stack); enum { // The entry bci used for non-OSR compilations.
*** 287,304 **** static nmethod* compile_method(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! const char* comment, Thread* thread); static nmethod* compile_method(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! const char* comment, DirectiveSet* directive, Thread* thread); // Acquire any needed locks and assign a compile id static uint assign_compile_id_unlocked(Thread* thread, const methodHandle& method, int osr_bci); --- 306,323 ---- static nmethod* compile_method(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! int compile_reason, Thread* thread); static nmethod* compile_method(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! int compile_reason, DirectiveSet* directive, Thread* thread); // Acquire any needed locks and assign a compile id static uint assign_compile_id_unlocked(Thread* thread, const methodHandle& method, int osr_bci);
src/share/vm/compiler/compileBroker.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File