src/share/vm/compiler/compileBroker.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/compiler/compileBroker.hpp	Wed Apr 13 14:48:45 2016
--- new/src/share/vm/compiler/compileBroker.hpp	Wed Apr 13 14:48:45 2016

*** 230,240 **** --- 230,240 ---- const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! const char* comment, ! 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 **** --- 249,287 ---- static void compile_method_base(const methodHandle& method, int osr_bci, int comp_level, const methodHandle& hot_method, int hot_count, ! const char* comment, ! 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 **** --- 306,323 ---- 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); ! 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, ! const char* comment, ! 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