Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
2d134422
D
dragonwell8_hotspot
项目概览
openanolis
/
dragonwell8_hotspot
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_hotspot
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2d134422
编写于
7月 14, 2014
作者:
V
vlivanov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8049530: Provide descriptive failure reason for compilation tasks removed for the queue
Reviewed-by: roland, iveresov
上级
1174ea5e
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
14 addition
and
3 deletion
+14
-3
src/share/vm/ci/ciEnv.cpp
src/share/vm/ci/ciEnv.cpp
+0
-3
src/share/vm/compiler/compileBroker.cpp
src/share/vm/compiler/compileBroker.cpp
+9
-0
src/share/vm/compiler/compileBroker.hpp
src/share/vm/compiler/compileBroker.hpp
+5
-0
未找到文件。
src/share/vm/ci/ciEnv.cpp
浏览文件 @
2d134422
...
@@ -1112,9 +1112,6 @@ int ciEnv::num_inlined_bytecodes() const {
...
@@ -1112,9 +1112,6 @@ int ciEnv::num_inlined_bytecodes() const {
// ------------------------------------------------------------------
// ------------------------------------------------------------------
// ciEnv::record_failure()
// ciEnv::record_failure()
void
ciEnv
::
record_failure
(
const
char
*
reason
)
{
void
ciEnv
::
record_failure
(
const
char
*
reason
)
{
if
(
log
()
!=
NULL
)
{
log
()
->
elem
(
"failure reason='%s'"
,
reason
);
}
if
(
_failure_reason
==
NULL
)
{
if
(
_failure_reason
==
NULL
)
{
// Record the first failure reason.
// Record the first failure reason.
_failure_reason
=
reason
;
_failure_reason
=
reason
;
...
...
src/share/vm/compiler/compileBroker.cpp
浏览文件 @
2d134422
...
@@ -287,6 +287,7 @@ void CompileTask::initialize(int compile_id,
...
@@ -287,6 +287,7 @@ void CompileTask::initialize(int compile_id,
_hot_count
=
hot_count
;
_hot_count
=
hot_count
;
_time_queued
=
0
;
// tidy
_time_queued
=
0
;
// tidy
_comment
=
comment
;
_comment
=
comment
;
_failure_reason
=
NULL
;
if
(
LogCompilation
)
{
if
(
LogCompilation
)
{
_time_queued
=
os
::
elapsed_counter
();
_time_queued
=
os
::
elapsed_counter
();
...
@@ -565,6 +566,11 @@ void CompileTask::log_task_done(CompileLog* log) {
...
@@ -565,6 +566,11 @@ void CompileTask::log_task_done(CompileLog* log) {
methodHandle
method
(
thread
,
this
->
method
());
methodHandle
method
(
thread
,
this
->
method
());
ResourceMark
rm
(
thread
);
ResourceMark
rm
(
thread
);
if
(
!
_is_success
)
{
const
char
*
reason
=
_failure_reason
!=
NULL
?
_failure_reason
:
"unknown"
;
log
->
elem
(
"failure reason='%s'"
,
reason
);
}
// <task_done ... stamp='1.234'> </task>
// <task_done ... stamp='1.234'> </task>
nmethod
*
nm
=
code
();
nmethod
*
nm
=
code
();
log
->
begin_elem
(
"task_done success='%d' nmsize='%d' count='%d'"
,
log
->
begin_elem
(
"task_done success='%d' nmsize='%d' count='%d'"
,
...
@@ -714,6 +720,7 @@ void CompileQueue::purge_stale_tasks() {
...
@@ -714,6 +720,7 @@ void CompileQueue::purge_stale_tasks() {
for
(
CompileTask
*
task
=
head
;
task
!=
NULL
;
)
{
for
(
CompileTask
*
task
=
head
;
task
!=
NULL
;
)
{
CompileTask
*
next_task
=
task
->
next
();
CompileTask
*
next_task
=
task
->
next
();
CompileTaskWrapper
ctw
(
task
);
// Frees the task
CompileTaskWrapper
ctw
(
task
);
// Frees the task
task
->
set_failure_reason
(
"stale task"
);
task
=
next_task
;
task
=
next_task
;
}
}
}
}
...
@@ -1788,6 +1795,7 @@ void CompileBroker::compiler_thread_loop() {
...
@@ -1788,6 +1795,7 @@ void CompileBroker::compiler_thread_loop() {
}
else
{
}
else
{
// After compilation is disabled, remove remaining methods from queue
// After compilation is disabled, remove remaining methods from queue
method
->
clear_queued_for_compilation
();
method
->
clear_queued_for_compilation
();
task
->
set_failure_reason
(
"compilation is disabled"
);
}
}
}
}
}
}
...
@@ -1975,6 +1983,7 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
...
@@ -1975,6 +1983,7 @@ void CompileBroker::invoke_compiler_on_method(CompileTask* task) {
compilable
=
ci_env
.
compilable
();
compilable
=
ci_env
.
compilable
();
if
(
ci_env
.
failing
())
{
if
(
ci_env
.
failing
())
{
task
->
set_failure_reason
(
ci_env
.
failure_reason
());
const
char
*
retry_message
=
ci_env
.
retry_message
();
const
char
*
retry_message
=
ci_env
.
retry_message
();
if
(
_compilation_log
!=
NULL
)
{
if
(
_compilation_log
!=
NULL
)
{
_compilation_log
->
log_failure
(
thread
,
task
,
ci_env
.
failure_reason
(),
retry_message
);
_compilation_log
->
log_failure
(
thread
,
task
,
ci_env
.
failure_reason
(),
retry_message
);
...
...
src/share/vm/compiler/compileBroker.hpp
浏览文件 @
2d134422
...
@@ -59,6 +59,7 @@ class CompileTask : public CHeapObj<mtCompiler> {
...
@@ -59,6 +59,7 @@ class CompileTask : public CHeapObj<mtCompiler> {
jobject
_hot_method_holder
;
jobject
_hot_method_holder
;
int
_hot_count
;
// information about its invocation counter
int
_hot_count
;
// information about its invocation counter
const
char
*
_comment
;
// more info about the task
const
char
*
_comment
;
// more info about the task
const
char
*
_failure_reason
;
public:
public:
CompileTask
()
{
CompileTask
()
{
...
@@ -130,6 +131,10 @@ public:
...
@@ -130,6 +131,10 @@ public:
void
log_task_queued
();
void
log_task_queued
();
void
log_task_start
(
CompileLog
*
log
);
void
log_task_start
(
CompileLog
*
log
);
void
log_task_done
(
CompileLog
*
log
);
void
log_task_done
(
CompileLog
*
log
);
void
set_failure_reason
(
const
char
*
reason
)
{
_failure_reason
=
reason
;
}
};
};
// CompilerCounters
// CompilerCounters
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录