Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
7d4e3cb4
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看板
提交
7d4e3cb4
编写于
11月 26, 2012
作者:
N
neliasso
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8003983: LogCompilation tool is broken since c1 support
Summary: Fixed emitting and parsing Reviewed-by: jrose, kvn
上级
a6cd8c33
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
18 addition
and
8 deletion
+18
-8
src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java
...on/src/com/sun/hotspot/tools/compiler/LogCompilation.java
+1
-1
src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java
...ilation/src/com/sun/hotspot/tools/compiler/LogParser.java
+9
-7
src/share/vm/c1/c1_Compilation.cpp
src/share/vm/c1/c1_Compilation.cpp
+8
-0
未找到文件。
src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java
浏览文件 @
7d4e3cb4
...
@@ -37,7 +37,7 @@ import org.xml.sax.helpers.*;
...
@@ -37,7 +37,7 @@ import org.xml.sax.helpers.*;
public
class
LogCompilation
extends
DefaultHandler
implements
ErrorHandler
,
Constants
{
public
class
LogCompilation
extends
DefaultHandler
implements
ErrorHandler
,
Constants
{
public
static
void
usage
(
int
exitcode
)
{
public
static
void
usage
(
int
exitcode
)
{
System
.
out
.
println
(
"Usage: LogCompilation [ -v ] [ -c ] [ -s ] [ -e | -
N
] file1 ..."
);
System
.
out
.
println
(
"Usage: LogCompilation [ -v ] [ -c ] [ -s ] [ -e | -
n
] file1 ..."
);
System
.
out
.
println
(
" -c: clean up malformed 1.5 xml"
);
System
.
out
.
println
(
" -c: clean up malformed 1.5 xml"
);
System
.
out
.
println
(
" -i: print inlining decisions"
);
System
.
out
.
println
(
" -i: print inlining decisions"
);
System
.
out
.
println
(
" -S: print compilation statistics"
);
System
.
out
.
println
(
" -S: print compilation statistics"
);
...
...
src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java
浏览文件 @
7d4e3cb4
...
@@ -224,7 +224,6 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
...
@@ -224,7 +224,6 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
throw
new
InternalError
(
"can't find "
+
name
);
throw
new
InternalError
(
"can't find "
+
name
);
}
}
int
indent
=
0
;
int
indent
=
0
;
String
compile_id
;
String
type
(
String
id
)
{
String
type
(
String
id
)
{
String
result
=
types
.
get
(
id
);
String
result
=
types
.
get
(
id
);
...
@@ -268,7 +267,7 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
...
@@ -268,7 +267,7 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
if
(
qname
.
equals
(
"phase"
))
{
if
(
qname
.
equals
(
"phase"
))
{
Phase
p
=
new
Phase
(
search
(
atts
,
"name"
),
Phase
p
=
new
Phase
(
search
(
atts
,
"name"
),
Double
.
parseDouble
(
search
(
atts
,
"stamp"
)),
Double
.
parseDouble
(
search
(
atts
,
"stamp"
)),
Integer
.
parseInt
(
search
(
atts
,
"nodes"
)),
Integer
.
parseInt
(
search
(
atts
,
"nodes"
,
"0"
)),
Integer
.
parseInt
(
search
(
atts
,
"live"
)));
Integer
.
parseInt
(
search
(
atts
,
"live"
)));
phaseStack
.
push
(
p
);
phaseStack
.
push
(
p
);
}
else
if
(
qname
.
equals
(
"phase_done"
))
{
}
else
if
(
qname
.
equals
(
"phase_done"
))
{
...
@@ -278,7 +277,7 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
...
@@ -278,7 +277,7 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
throw
new
InternalError
(
"phase name mismatch"
);
throw
new
InternalError
(
"phase name mismatch"
);
}
}
p
.
setEnd
(
Double
.
parseDouble
(
search
(
atts
,
"stamp"
)));
p
.
setEnd
(
Double
.
parseDouble
(
search
(
atts
,
"stamp"
)));
p
.
setEndNodes
(
Integer
.
parseInt
(
search
(
atts
,
"nodes"
)));
p
.
setEndNodes
(
Integer
.
parseInt
(
search
(
atts
,
"nodes"
,
"0"
)));
p
.
setEndLiveNodes
(
Integer
.
parseInt
(
search
(
atts
,
"live"
)));
p
.
setEndLiveNodes
(
Integer
.
parseInt
(
search
(
atts
,
"live"
)));
compile
.
getPhases
().
add
(
p
);
compile
.
getPhases
().
add
(
p
);
}
else
if
(
qname
.
equals
(
"task"
))
{
}
else
if
(
qname
.
equals
(
"task"
))
{
...
@@ -323,13 +322,16 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
...
@@ -323,13 +322,16 @@ public class LogParser extends DefaultHandler implements ErrorHandler, Constants
m
.
setName
(
search
(
atts
,
"name"
));
m
.
setName
(
search
(
atts
,
"name"
));
m
.
setReturnType
(
type
(
search
(
atts
,
"return"
)));
m
.
setReturnType
(
type
(
search
(
atts
,
"return"
)));
m
.
setArguments
(
search
(
atts
,
"arguments"
,
"void"
));
m
.
setArguments
(
search
(
atts
,
"arguments"
,
"void"
));
m
.
setBytes
(
search
(
atts
,
"bytes"
));
m
.
setIICount
(
search
(
atts
,
"iicount"
));
if
(
search
(
atts
,
"unloaded"
,
"0"
).
equals
(
"0"
))
{
m
.
setFlags
(
search
(
atts
,
"flags"
));
m
.
setBytes
(
search
(
atts
,
"bytes"
));
m
.
setIICount
(
search
(
atts
,
"iicount"
));
m
.
setFlags
(
search
(
atts
,
"flags"
));
}
methods
.
put
(
id
,
m
);
methods
.
put
(
id
,
m
);
}
else
if
(
qname
.
equals
(
"call"
))
{
}
else
if
(
qname
.
equals
(
"call"
))
{
site
=
new
CallSite
(
bci
,
method
(
search
(
atts
,
"method"
)));
site
=
new
CallSite
(
bci
,
method
(
search
(
atts
,
"method"
)));
site
.
setCount
(
Integer
.
parseInt
(
search
(
atts
,
"count"
)));
site
.
setCount
(
Integer
.
parseInt
(
search
(
atts
,
"count"
,
"0"
)));
String
receiver
=
atts
.
getValue
(
"receiver"
);
String
receiver
=
atts
.
getValue
(
"receiver"
);
if
(
receiver
!=
null
)
{
if
(
receiver
!=
null
)
{
site
.
setReceiver
(
type
(
receiver
));
site
.
setReceiver
(
type
(
receiver
));
...
...
src/share/vm/c1/c1_Compilation.cpp
浏览文件 @
7d4e3cb4
...
@@ -129,7 +129,15 @@ void Compilation::build_hir() {
...
@@ -129,7 +129,15 @@ void Compilation::build_hir() {
CHECK_BAILOUT
();
CHECK_BAILOUT
();
// setup ir
// setup ir
CompileLog
*
log
=
this
->
log
();
if
(
log
!=
NULL
)
{
log
->
begin_head
(
"parse method='%d' "
,
log
->
identify
(
_method
));
log
->
stamp
();
log
->
end_head
();
}
_hir
=
new
IR
(
this
,
method
(),
osr_bci
());
_hir
=
new
IR
(
this
,
method
(),
osr_bci
());
if
(
log
)
log
->
done
(
"parse"
);
if
(
!
_hir
->
is_valid
())
{
if
(
!
_hir
->
is_valid
())
{
bailout
(
"invalid parsing"
);
bailout
(
"invalid parsing"
);
return
;
return
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录