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