Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
054f5678
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看板
提交
054f5678
编写于
4月 12, 2011
作者:
V
vladidan
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
0833e20e
d54804f0
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
18 deletion
+30
-18
src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
+4
-2
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.cpp
+25
-16
src/share/vm/classfile/vmSymbols.hpp
src/share/vm/classfile/vmSymbols.hpp
+1
-0
未找到文件。
src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
浏览文件 @
054f5678
...
@@ -497,6 +497,9 @@ class CompilerInterfaceVC10 extends CompilerInterface {
...
@@ -497,6 +497,9 @@ class CompilerInterfaceVC10 extends CompilerInterface {
addAttr
(
rv
,
"TargetMachine"
,
"MachineX64"
);
addAttr
(
rv
,
"TargetMachine"
,
"MachineX64"
);
}
}
// We always want the /DEBUG option to get full symbol information in the pdb files
addAttr
(
rv
,
"GenerateDebugInformation"
,
"true"
);
return
rv
;
return
rv
;
}
}
...
@@ -504,8 +507,7 @@ class CompilerInterfaceVC10 extends CompilerInterface {
...
@@ -504,8 +507,7 @@ class CompilerInterfaceVC10 extends CompilerInterface {
Vector
getDebugLinkerFlags
()
{
Vector
getDebugLinkerFlags
()
{
Vector
rv
=
new
Vector
();
Vector
rv
=
new
Vector
();
// /DEBUG option
// Empty now that /DEBUG option is used by all configs
addAttr
(
rv
,
"GenerateDebugInformation"
,
"true"
);
return
rv
;
return
rv
;
}
}
...
...
src/share/vm/classfile/javaClasses.cpp
浏览文件 @
054f5678
...
@@ -1444,32 +1444,41 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, TRAPS) {
...
@@ -1444,32 +1444,41 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, TRAPS) {
}
}
}
}
#ifdef ASSERT
#ifdef ASSERT
assert
(
st_method
()
==
method
&&
st
.
bci
()
==
bci
,
assert
(
st_method
()
==
method
&&
st
.
bci
()
==
bci
,
"Wrong stack trace"
);
"Wrong stack trace"
);
st
.
next
();
st
.
next
();
// vframeStream::method isn't GC-safe so store off a copy
// vframeStream::method isn't GC-safe so store off a copy
// of the methodOop in case we GC.
// of the methodOop in case we GC.
if
(
!
st
.
at_end
())
{
if
(
!
st
.
at_end
())
{
st_method
=
st
.
method
();
st_method
=
st
.
method
();
}
}
#endif
#endif
// the format of the stacktrace will be:
// - 1 or more fillInStackTrace frames for the exception class (skipped)
// - 0 or more <init> methods for the exception class (skipped)
// - rest of the stack
if
(
!
skip_fillInStackTrace_check
)
{
if
(
!
skip_fillInStackTrace_check
)
{
// check "fillInStackTrace" only once, so we negate the flag
if
((
method
->
name
()
==
vmSymbols
::
fillInStackTrace_name
()
||
// after the first time check.
method
->
name
()
==
vmSymbols
::
fillInStackTrace0_name
())
&&
skip_fillInStackTrace_check
=
true
;
throwable
->
is_a
(
method
->
method_holder
()))
{
if
(
method
->
name
()
==
vmSymbols
::
fillInStackTrace_name
())
{
continue
;
continue
;
}
}
else
{
skip_fillInStackTrace_check
=
true
;
// gone past them all
}
}
}
// skip <init> methods of the exceptions klass. If there is <init> methods
// that belongs to a superclass of the exception we are going to skipping
// them in stack trace. This is simlar to classic VM.
if
(
!
skip_throwableInit_check
)
{
if
(
!
skip_throwableInit_check
)
{
assert
(
skip_fillInStackTrace_check
,
"logic error in backtrace filtering"
);
// skip <init> methods of the exception class and superclasses
// This is simlar to classic VM.
if
(
method
->
name
()
==
vmSymbols
::
object_initializer_name
()
&&
if
(
method
->
name
()
==
vmSymbols
::
object_initializer_name
()
&&
throwable
->
is_a
(
method
->
method_holder
()))
{
throwable
->
is_a
(
method
->
method_holder
()))
{
continue
;
continue
;
}
else
{
}
else
{
//
if no "Throwable.init()" method found, we stop checking it next time.
//
there are none or we've seen them all - either way stop checking
skip_throwableInit_check
=
true
;
skip_throwableInit_check
=
true
;
}
}
}
}
...
...
src/share/vm/classfile/vmSymbols.hpp
浏览文件 @
054f5678
...
@@ -330,6 +330,7 @@
...
@@ -330,6 +330,7 @@
template(dispatch_name, "dispatch") \
template(dispatch_name, "dispatch") \
template(getSystemClassLoader_name, "getSystemClassLoader") \
template(getSystemClassLoader_name, "getSystemClassLoader") \
template(fillInStackTrace_name, "fillInStackTrace") \
template(fillInStackTrace_name, "fillInStackTrace") \
template(fillInStackTrace0_name, "fillInStackTrace0") \
template(getCause_name, "getCause") \
template(getCause_name, "getCause") \
template(initCause_name, "initCause") \
template(initCause_name, "initCause") \
template(setProperty_name, "setProperty") \
template(setProperty_name, "setProperty") \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录