Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
30b43211
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看板
提交
30b43211
编写于
9月 04, 2012
作者:
T
twisti
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
7196120: NPG: JSR 2292 test fails because missing fix for 7188911
Reviewed-by: kvn, coleenp
上级
87639c74
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
2 addition
and
28 deletion
+2
-28
src/share/vm/interpreter/linkResolver.cpp
src/share/vm/interpreter/linkResolver.cpp
+2
-3
src/share/vm/prims/methodHandles.cpp
src/share/vm/prims/methodHandles.cpp
+0
-22
src/share/vm/utilities/exceptions.hpp
src/share/vm/utilities/exceptions.hpp
+0
-3
未找到文件。
src/share/vm/interpreter/linkResolver.cpp
浏览文件 @
30b43211
...
@@ -1265,7 +1265,7 @@ void LinkResolver::resolve_dynamic_call(CallInfo& result,
...
@@ -1265,7 +1265,7 @@ void LinkResolver::resolve_dynamic_call(CallInfo& result,
bootstrap_specifier
,
bootstrap_specifier
,
method_name
,
method_signature
,
method_name
,
method_signature
,
&
resolved_appendix
,
&
resolved_appendix
,
CHECK
);
THREAD
);
if
(
HAS_PENDING_EXCEPTION
)
{
if
(
HAS_PENDING_EXCEPTION
)
{
if
(
TraceMethodHandles
)
{
if
(
TraceMethodHandles
)
{
tty
->
print_cr
(
"invokedynamic throws BSME for "
INTPTR_FORMAT
,
PENDING_EXCEPTION
);
tty
->
print_cr
(
"invokedynamic throws BSME for "
INTPTR_FORMAT
,
PENDING_EXCEPTION
);
...
@@ -1282,8 +1282,7 @@ void LinkResolver::resolve_dynamic_call(CallInfo& result,
...
@@ -1282,8 +1282,7 @@ void LinkResolver::resolve_dynamic_call(CallInfo& result,
// See the "Linking Exceptions" section for the invokedynamic instruction in the JVMS.
// See the "Linking Exceptions" section for the invokedynamic instruction in the JVMS.
Handle
nested_exception
(
THREAD
,
PENDING_EXCEPTION
);
Handle
nested_exception
(
THREAD
,
PENDING_EXCEPTION
);
CLEAR_PENDING_EXCEPTION
;
CLEAR_PENDING_EXCEPTION
;
THROW_MSG_CAUSE
(
vmSymbols
::
java_lang_BootstrapMethodError
(),
THROW_CAUSE
(
vmSymbols
::
java_lang_BootstrapMethodError
(),
nested_exception
)
"BootstrapMethodError"
,
nested_exception
)
}
}
result
.
set_handle
(
resolved_method
,
resolved_appendix
,
CHECK
);
result
.
set_handle
(
resolved_method
,
resolved_appendix
,
CHECK
);
}
}
...
...
src/share/vm/prims/methodHandles.cpp
浏览文件 @
30b43211
...
@@ -1194,20 +1194,6 @@ JVM_ENTRY(void, MHN_setCallSiteTargetVolatile(JNIEnv* env, jobject igcls, jobjec
...
@@ -1194,20 +1194,6 @@ JVM_ENTRY(void, MHN_setCallSiteTargetVolatile(JNIEnv* env, jobject igcls, jobjec
}
}
JVM_END
JVM_END
JVM_ENTRY
(
jobject
,
MH_invoke_UOE
(
JNIEnv
*
env
,
jobject
igmh
,
jobjectArray
igargs
))
{
TempNewSymbol
UOE_name
=
SymbolTable
::
new_symbol
(
"java/lang/UnsupportedOperationException"
,
CHECK_NULL
);
THROW_MSG_NULL
(
UOE_name
,
"MethodHandle.invoke cannot be invoked reflectively"
);
return
NULL
;
}
JVM_END
JVM_ENTRY
(
jobject
,
MH_invokeExact_UOE
(
JNIEnv
*
env
,
jobject
igmh
,
jobjectArray
igargs
))
{
TempNewSymbol
UOE_name
=
SymbolTable
::
new_symbol
(
"java/lang/UnsupportedOperationException"
,
CHECK_NULL
);
THROW_MSG_NULL
(
UOE_name
,
"MethodHandle.invokeExact cannot be invoked reflectively"
);
return
NULL
;
}
JVM_END
/// JVM_RegisterMethodHandleMethods
/// JVM_RegisterMethodHandleMethods
#undef CS // Solaris builds complain
#undef CS // Solaris builds complain
...
@@ -1245,11 +1231,6 @@ static JNINativeMethod required_methods_JDK8[] = {
...
@@ -1245,11 +1231,6 @@ static JNINativeMethod required_methods_JDK8[] = {
{
CC
"getMemberVMInfo"
,
CC
"("
MEM
")"
OBJ
,
FN_PTR
(
MHN_getMemberVMInfo
)}
{
CC
"getMemberVMInfo"
,
CC
"("
MEM
")"
OBJ
,
FN_PTR
(
MHN_getMemberVMInfo
)}
};
};
static
JNINativeMethod
invoke_methods
[]
=
{
{
CC
"invoke"
,
CC
"(["
OBJ
")"
OBJ
,
FN_PTR
(
MH_invoke_UOE
)},
{
CC
"invokeExact"
,
CC
"(["
OBJ
")"
OBJ
,
FN_PTR
(
MH_invokeExact_UOE
)}
};
// This one function is exported, used by NativeLookup.
// This one function is exported, used by NativeLookup.
JVM_ENTRY
(
void
,
JVM_RegisterMethodHandleMethods
(
JNIEnv
*
env
,
jclass
MHN_class
))
{
JVM_ENTRY
(
void
,
JVM_RegisterMethodHandleMethods
(
JNIEnv
*
env
,
jclass
MHN_class
))
{
...
@@ -1275,9 +1256,6 @@ JVM_ENTRY(void, JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass MHN_class))
...
@@ -1275,9 +1256,6 @@ JVM_ENTRY(void, JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass MHN_class))
ThreadToNativeFromVM
ttnfv
(
thread
);
ThreadToNativeFromVM
ttnfv
(
thread
);
status
=
env
->
RegisterNatives
(
MHN_class
,
required_methods_JDK8
,
sizeof
(
required_methods_JDK8
)
/
sizeof
(
JNINativeMethod
));
status
=
env
->
RegisterNatives
(
MHN_class
,
required_methods_JDK8
,
sizeof
(
required_methods_JDK8
)
/
sizeof
(
JNINativeMethod
));
if
(
status
==
JNI_OK
&&
!
env
->
ExceptionOccurred
())
{
status
=
env
->
RegisterNatives
(
MH_class
,
invoke_methods
,
sizeof
(
invoke_methods
)
/
sizeof
(
JNINativeMethod
));
}
if
(
status
!=
JNI_OK
||
env
->
ExceptionOccurred
())
{
if
(
status
!=
JNI_OK
||
env
->
ExceptionOccurred
())
{
warning
(
"JSR 292 method handle code is mismatched to this JVM. Disabling support."
);
warning
(
"JSR 292 method handle code is mismatched to this JVM. Disabling support."
);
enable_MH
=
false
;
enable_MH
=
false
;
...
...
src/share/vm/utilities/exceptions.hpp
浏览文件 @
30b43211
...
@@ -235,9 +235,6 @@ class Exceptions {
...
@@ -235,9 +235,6 @@ class Exceptions {
#define THROW_ARG(name, signature, args) \
#define THROW_ARG(name, signature, args) \
{ Exceptions::_throw_args(THREAD_AND_LOCATION, name, signature, args); return; }
{ Exceptions::_throw_args(THREAD_AND_LOCATION, name, signature, args); return; }
#define THROW_MSG_CAUSE(name, message, cause) \
{ Exceptions::_throw_msg_cause(THREAD_AND_LOCATION, name, message, cause); return; }
#define THROW_OOP_(e, result) \
#define THROW_OOP_(e, result) \
{ Exceptions::_throw_oop(THREAD_AND_LOCATION, e); return result; }
{ Exceptions::_throw_oop(THREAD_AND_LOCATION, e); return result; }
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录