Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
e8af7ab5
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e8af7ab5
编写于
7月 27, 2012
作者:
T
twisti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7187290: nightly failures after JSR 292 lazy method handle update
Reviewed-by: kvn, twisti
上级
8bc37f7e
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
33 addition
and
30 deletion
+33
-30
src/share/vm/c1/c1_GraphBuilder.cpp
src/share/vm/c1/c1_GraphBuilder.cpp
+25
-23
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.cpp
+1
-4
src/share/vm/oops/methodOop.cpp
src/share/vm/oops/methodOop.cpp
+5
-1
src/share/vm/opto/doCall.cpp
src/share/vm/opto/doCall.cpp
+2
-2
未找到文件。
src/share/vm/c1/c1_GraphBuilder.cpp
浏览文件 @
e8af7ab5
...
...
@@ -1569,6 +1569,7 @@ void GraphBuilder::access_field(Bytecodes::Code code) {
ObjectType
*
obj_type
=
obj
->
type
()
->
as_ObjectType
();
if
(
obj_type
->
is_constant
()
&&
!
PatchALot
)
{
ciObject
*
const_oop
=
obj_type
->
constant_value
();
if
(
!
const_oop
->
is_null_object
())
{
if
(
field
->
is_constant
())
{
ciConstant
field_val
=
field
->
constant_value_of
(
const_oop
);
BasicType
field_type
=
field_val
.
basic_type
();
...
...
@@ -1583,7 +1584,7 @@ void GraphBuilder::access_field(Bytecodes::Code code) {
constant
=
new
Constant
(
as_ValueType
(
field_val
));
}
}
else
{
// For constant CallSite
s treat the target field as a compile time constant.
// For CallSite object
s treat the target field as a compile time constant.
if
(
const_oop
->
is_call_site
())
{
ciCallSite
*
call_site
=
const_oop
->
as_call_site
();
if
(
field
->
is_call_site_target
())
{
...
...
@@ -1600,6 +1601,7 @@ void GraphBuilder::access_field(Bytecodes::Code code) {
}
}
}
}
if
(
constant
!=
NULL
)
{
push
(
type
,
append
(
constant
));
}
else
{
...
...
src/share/vm/classfile/javaClasses.cpp
浏览文件 @
e8af7ab5
...
...
@@ -1462,7 +1462,7 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, methodHandle met
nmethod
*
nm
=
NULL
;
bool
skip_fillInStackTrace_check
=
false
;
bool
skip_throwableInit_check
=
false
;
bool
skip_hidden
=
false
;
bool
skip_hidden
=
!
ShowHiddenFrames
;
for
(
frame
fr
=
thread
->
last_frame
();
max_depth
!=
total_count
;)
{
methodOop
method
=
NULL
;
...
...
@@ -1544,9 +1544,6 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, methodHandle met
}
if
(
method
->
is_hidden
())
{
if
(
skip_hidden
)
continue
;
}
else
{
// start skipping hidden frames after first non-hidden frame
skip_hidden
=
!
ShowHiddenFrames
;
}
bt
.
push
(
method
,
bci
,
CHECK
);
total_count
++
;
...
...
src/share/vm/oops/methodOop.cpp
浏览文件 @
e8af7ab5
...
...
@@ -582,7 +582,8 @@ void methodOopDesc::set_native_function(address function, bool post_event_flag)
bool
methodOopDesc
::
has_native_function
()
const
{
assert
(
!
is_method_handle_intrinsic
(),
""
);
if
(
is_method_handle_intrinsic
())
return
false
;
// special-cased in SharedRuntime::generate_native_wrapper
address
func
=
native_function
();
return
(
func
!=
NULL
&&
func
!=
SharedRuntime
::
native_method_throw_unsatisfied_link_error_entry
());
}
...
...
@@ -612,6 +613,9 @@ bool methodOopDesc::is_not_compilable(int comp_level) const {
if
(
number_of_breakpoints
()
>
0
)
{
return
true
;
}
if
(
is_method_handle_intrinsic
())
{
return
!
is_synthetic
();
// the generated adapters must be compiled
}
if
(
comp_level
==
CompLevel_any
)
{
return
is_not_c1_compilable
()
||
is_not_c2_compilable
();
}
...
...
src/share/vm/opto/doCall.cpp
浏览文件 @
e8af7ab5
...
...
@@ -641,8 +641,8 @@ void Parse::catch_call_exceptions(ciExceptionHandlerStream& handlers) {
#ifndef PRODUCT
// We do not expect the same handler bci to take both cold unloaded
// and hot loaded exceptions. But, watch for it.
if
(
extype
->
is_loaded
())
{
tty
->
print
_cr
(
"Warning: Handler @%d takes mixed loaded/unloaded exceptions in "
);
if
(
(
Verbose
||
WizardMode
)
&&
extype
->
is_loaded
())
{
tty
->
print
(
"Warning: Handler @%d takes mixed loaded/unloaded exceptions in "
,
bci
()
);
method
()
->
print_name
();
tty
->
cr
();
}
else
if
(
PrintOpto
&&
(
Verbose
||
WizardMode
))
{
tty
->
print
(
"Bailing out on unloaded exception type "
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录