Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
c8b0321d
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看板
提交
c8b0321d
编写于
5月 28, 2013
作者:
J
jprovino
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
65030d7c
650060e2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
25 addition
and
15 deletion
+25
-15
make/excludeSrc.make
make/excludeSrc.make
+1
-1
src/share/vm/prims/forte.cpp
src/share/vm/prims/forte.cpp
+24
-14
未找到文件。
make/excludeSrc.make
浏览文件 @
c8b0321d
...
...
@@ -25,7 +25,7 @@ ifeq ($(INCLUDE_JVMTI), false)
CXXFLAGS
+=
-DINCLUDE_JVMTI
=
0
CFLAGS
+=
-DINCLUDE_JVMTI
=
0
Src_Files_EXCLUDE
+=
jvmtiGetLoadedClasses.cpp
forte.cpp
jvmtiThreadState.cpp jvmtiExtensions.cpp
\
Src_Files_EXCLUDE
+=
jvmtiGetLoadedClasses.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp
\
jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp
\
jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp
\
jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp
\
...
...
src/share/vm/prims/forte.cpp
浏览文件 @
c8b0321d
...
...
@@ -35,6 +35,19 @@
#include "runtime/vframe.hpp"
#include "runtime/vframeArray.hpp"
// call frame copied from old .h file and renamed
typedef
struct
{
jint
lineno
;
// line number in the source file
jmethodID
method_id
;
// method executed in this frame
}
ASGCT_CallFrame
;
// call trace copied from old .h file and renamed
typedef
struct
{
JNIEnv
*
env_id
;
// Env where trace was recorded
jint
num_frames
;
// number of frames in this trace
ASGCT_CallFrame
*
frames
;
// frames
}
ASGCT_CallTrace
;
// These name match the names reported by the forte quality kit
enum
{
ticks_no_Java_frame
=
0
,
...
...
@@ -50,6 +63,8 @@ enum {
ticks_safepoint
=
-
10
};
#if INCLUDE_JVMTI
//-------------------------------------------------------
// Native interfaces for use by Forte tools.
...
...
@@ -360,20 +375,6 @@ static bool find_initial_Java_frame(JavaThread* thread,
}
// call frame copied from old .h file and renamed
typedef
struct
{
jint
lineno
;
// line number in the source file
jmethodID
method_id
;
// method executed in this frame
}
ASGCT_CallFrame
;
// call trace copied from old .h file and renamed
typedef
struct
{
JNIEnv
*
env_id
;
// Env where trace was recorded
jint
num_frames
;
// number of frames in this trace
ASGCT_CallFrame
*
frames
;
// frames
}
ASGCT_CallTrace
;
static
void
forte_fill_call_trace_given_top
(
JavaThread
*
thd
,
ASGCT_CallTrace
*
trace
,
int
depth
,
...
...
@@ -634,3 +635,12 @@ void Forte::register_stub(const char* name, address start, address end) {
pointer_delta
(
end
,
start
,
sizeof
(
jbyte
)),
0
,
NULL
);
#endif // !_WINDOWS && !IA64
}
#else // INCLUDE_JVMTI
extern
"C"
{
JNIEXPORT
void
AsyncGetCallTrace
(
ASGCT_CallTrace
*
trace
,
jint
depth
,
void
*
ucontext
)
{
trace
->
num_frames
=
ticks_no_class_load
;
// -1
}
}
#endif // INCLUDE_JVMTI
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录