Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
bf4f282e
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看板
提交
bf4f282e
编写于
2月 15, 2016
作者:
A
asaha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
3d8f6bea
3da4629d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
51 addition
and
26 deletion
+51
-26
.hgtags
.hgtags
+1
-0
agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java
.../share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java
+26
-24
src/share/vm/prims/jni.cpp
src/share/vm/prims/jni.cpp
+24
-2
未找到文件。
.hgtags
浏览文件 @
bf4f282e
...
...
@@ -816,6 +816,7 @@ ca3b8c8e390ab0540b0cc2e5def869b38e460d86 jdk8u75-b01
1f43bd4fab06d2ca5d1964611df14d8506d6b36e jdk8u75-b05
916712f178c39d0acbc590f38802133fc86a7346 jdk8u75-b06
8c791dd1c24d85ebd18b03d49185c2a25263c129 jdk8u75-b07
e4a935cb6f7178912fd653e2a9514eadec7935ab jdk8u75-b08
d7b01fb81aa8a5437cb03bc36afe15cf0e55fb89 jdk8u76-b00
c1679cc87ba045219169cabb6b9b378c2b5cc578 jdk8u76-b01
218483967e52b419d885d34af4488a81c5133804 jdk8u76-b02
...
...
agent/src/share/classes/sun/jvm/hotspot/interpreter/Bytecodes.java
浏览文件 @
bf4f282e
/*
* Copyright (c) 2001, 201
2
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 201
6
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -253,29 +253,30 @@ public class Bytecodes {
public
static
final
int
_fast_sgetfield
=
210
;
public
static
final
int
_fast_aputfield
=
211
;
public
static
final
int
_fast_bputfield
=
212
;
public
static
final
int
_fast_cputfield
=
213
;
public
static
final
int
_fast_dputfield
=
214
;
public
static
final
int
_fast_fputfield
=
215
;
public
static
final
int
_fast_iputfield
=
216
;
public
static
final
int
_fast_lputfield
=
217
;
public
static
final
int
_fast_sputfield
=
218
;
public
static
final
int
_fast_aload_0
=
219
;
public
static
final
int
_fast_iaccess_0
=
220
;
public
static
final
int
_fast_aaccess_0
=
221
;
public
static
final
int
_fast_faccess_0
=
222
;
public
static
final
int
_fast_iload
=
223
;
public
static
final
int
_fast_iload2
=
224
;
public
static
final
int
_fast_icaload
=
225
;
public
static
final
int
_fast_invokevfinal
=
226
;
public
static
final
int
_fast_linearswitch
=
227
;
public
static
final
int
_fast_binaryswitch
=
228
;
public
static
final
int
_fast_aldc
=
229
;
public
static
final
int
_fast_aldc_w
=
230
;
public
static
final
int
_return_register_finalizer
=
231
;
public
static
final
int
_invokehandle
=
232
;
public
static
final
int
_shouldnotreachhere
=
233
;
// For debugging
public
static
final
int
number_of_codes
=
234
;
public
static
final
int
_fast_zputfield
=
213
;
public
static
final
int
_fast_cputfield
=
214
;
public
static
final
int
_fast_dputfield
=
215
;
public
static
final
int
_fast_fputfield
=
216
;
public
static
final
int
_fast_iputfield
=
217
;
public
static
final
int
_fast_lputfield
=
218
;
public
static
final
int
_fast_sputfield
=
219
;
public
static
final
int
_fast_aload_0
=
220
;
public
static
final
int
_fast_iaccess_0
=
221
;
public
static
final
int
_fast_aaccess_0
=
222
;
public
static
final
int
_fast_faccess_0
=
223
;
public
static
final
int
_fast_iload
=
224
;
public
static
final
int
_fast_iload2
=
225
;
public
static
final
int
_fast_icaload
=
226
;
public
static
final
int
_fast_invokevfinal
=
227
;
public
static
final
int
_fast_linearswitch
=
228
;
public
static
final
int
_fast_binaryswitch
=
229
;
public
static
final
int
_fast_aldc
=
230
;
public
static
final
int
_fast_aldc_w
=
231
;
public
static
final
int
_return_register_finalizer
=
232
;
public
static
final
int
_invokehandle
=
233
;
public
static
final
int
_shouldnotreachhere
=
234
;
// For debugging
public
static
final
int
number_of_codes
=
235
;
// Flag bits derived from format strings, can_trap, can_rewrite, etc.:
// semantic flags:
...
...
@@ -776,6 +777,7 @@ public class Bytecodes {
def
(
_fast_aputfield
,
"fast_aputfield"
,
"bJJ"
,
null
,
BasicType
.
getTObject
()
,
0
,
true
,
_putfield
);
def
(
_fast_bputfield
,
"fast_bputfield"
,
"bJJ"
,
null
,
BasicType
.
getTInt
()
,
0
,
true
,
_putfield
);
def
(
_fast_zputfield
,
"fast_zputfield"
,
"bJJ"
,
null
,
BasicType
.
getTInt
()
,
0
,
true
,
_putfield
);
def
(
_fast_cputfield
,
"fast_cputfield"
,
"bJJ"
,
null
,
BasicType
.
getTChar
()
,
0
,
true
,
_putfield
);
def
(
_fast_dputfield
,
"fast_dputfield"
,
"bJJ"
,
null
,
BasicType
.
getTDouble
()
,
0
,
true
,
_putfield
);
def
(
_fast_fputfield
,
"fast_fputfield"
,
"bJJ"
,
null
,
BasicType
.
getTFloat
()
,
0
,
true
,
_putfield
);
...
...
src/share/vm/prims/jni.cpp
浏览文件 @
bf4f282e
...
...
@@ -1121,7 +1121,14 @@ class JNI_ArgumentPusherVaArg : public JNI_ArgumentPusher {
protected:
va_list
_ap
;
inline
void
get_bool
()
{
_arguments
->
push_int
(
va_arg
(
_ap
,
jint
));
}
// bool is coerced to int when using va_arg
inline
void
get_bool
()
{
// Normalize boolean arguments from native code by converting 1-255 to JNI_TRUE and
// 0 to JNI_FALSE. Boolean return values from native are normalized the same in
// TemplateInterpreterGenerator::generate_result_handler_for and
// SharedRuntime::generate_native_wrapper.
jboolean
b
=
va_arg
(
_ap
,
jint
);
_arguments
->
push_int
((
jint
)(
b
==
0
?
JNI_FALSE
:
JNI_TRUE
));
}
inline
void
get_char
()
{
_arguments
->
push_int
(
va_arg
(
_ap
,
jint
));
}
// char is coerced to int when using va_arg
inline
void
get_short
()
{
_arguments
->
push_int
(
va_arg
(
_ap
,
jint
));
}
// short is coerced to int when using va_arg
inline
void
get_byte
()
{
_arguments
->
push_int
(
va_arg
(
_ap
,
jint
));
}
// byte is coerced to int when using va_arg
...
...
@@ -1167,9 +1174,17 @@ class JNI_ArgumentPusherVaArg : public JNI_ArgumentPusher {
while
(
1
)
{
switch
(
fingerprint
&
parameter_feature_mask
)
{
case
bool_parm
:
get_bool
();
break
;
case
char_parm
:
get_char
();
break
;
case
short_parm
:
get_short
();
break
;
case
byte_parm
:
get_byte
();
break
;
case
int_parm
:
get_int
();
break
;
...
...
@@ -1203,7 +1218,14 @@ class JNI_ArgumentPusherArray : public JNI_ArgumentPusher {
protected:
const
jvalue
*
_ap
;
inline
void
get_bool
()
{
_arguments
->
push_int
((
jint
)(
_ap
++
)
->
z
);
}
inline
void
get_bool
()
{
// Normalize boolean arguments from native code by converting 1-255 to JNI_TRUE and
// 0 to JNI_FALSE. Boolean return values from native are normalized the same in
// TemplateInterpreterGenerator::generate_result_handler_for and
// SharedRuntime::generate_native_wrapper.
jboolean
b
=
(
_ap
++
)
->
z
;
_arguments
->
push_int
((
jint
)(
b
==
0
?
JNI_FALSE
:
JNI_TRUE
));
}
inline
void
get_char
()
{
_arguments
->
push_int
((
jint
)(
_ap
++
)
->
c
);
}
inline
void
get_short
()
{
_arguments
->
push_int
((
jint
)(
_ap
++
)
->
s
);
}
inline
void
get_byte
()
{
_arguments
->
push_int
((
jint
)(
_ap
++
)
->
b
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录