Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
7d9ef496
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看板
提交
7d9ef496
编写于
11月 18, 2014
作者:
J
jiangli
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
0a8f3021
f70ad8a3
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
23 addition
and
5 deletion
+23
-5
src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp
...gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp
+6
-2
src/share/vm/gc_implementation/g1/vm_operations_g1.cpp
src/share/vm/gc_implementation/g1/vm_operations_g1.cpp
+6
-2
src/share/vm/gc_implementation/shared/concurrentGCThread.cpp
src/share/vm/gc_implementation/shared/concurrentGCThread.cpp
+7
-0
src/share/vm/gc_implementation/shared/concurrentGCThread.hpp
src/share/vm/gc_implementation/shared/concurrentGCThread.hpp
+3
-0
src/share/vm/runtime/interfaceSupport.cpp
src/share/vm/runtime/interfaceSupport.cpp
+1
-1
未找到文件。
src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp
浏览文件 @
7d9ef496
...
@@ -50,8 +50,12 @@ HS_DTRACE_PROBE_DECL(hs_private, cms__remark__end);
...
@@ -50,8 +50,12 @@ HS_DTRACE_PROBE_DECL(hs_private, cms__remark__end);
void
VM_CMS_Operation
::
acquire_pending_list_lock
()
{
void
VM_CMS_Operation
::
acquire_pending_list_lock
()
{
// The caller may block while communicating
// The caller may block while communicating
// with the SLT thread in order to acquire/release the PLL.
// with the SLT thread in order to acquire/release the PLL.
ConcurrentMarkSweepThread
::
slt
()
->
SurrogateLockerThread
*
slt
=
ConcurrentMarkSweepThread
::
slt
();
manipulatePLL
(
SurrogateLockerThread
::
acquirePLL
);
if
(
slt
!=
NULL
)
{
slt
->
manipulatePLL
(
SurrogateLockerThread
::
acquirePLL
);
}
else
{
SurrogateLockerThread
::
report_missing_slt
();
}
}
}
void
VM_CMS_Operation
::
release_and_notify_pending_list_lock
()
{
void
VM_CMS_Operation
::
release_and_notify_pending_list_lock
()
{
...
...
src/share/vm/gc_implementation/g1/vm_operations_g1.cpp
浏览文件 @
7d9ef496
...
@@ -213,8 +213,12 @@ void VM_CGC_Operation::acquire_pending_list_lock() {
...
@@ -213,8 +213,12 @@ void VM_CGC_Operation::acquire_pending_list_lock() {
assert
(
_needs_pll
,
"don't call this otherwise"
);
assert
(
_needs_pll
,
"don't call this otherwise"
);
// The caller may block while communicating
// The caller may block while communicating
// with the SLT thread in order to acquire/release the PLL.
// with the SLT thread in order to acquire/release the PLL.
ConcurrentMarkThread
::
slt
()
->
SurrogateLockerThread
*
slt
=
ConcurrentMarkThread
::
slt
();
manipulatePLL
(
SurrogateLockerThread
::
acquirePLL
);
if
(
slt
!=
NULL
)
{
slt
->
manipulatePLL
(
SurrogateLockerThread
::
acquirePLL
);
}
else
{
SurrogateLockerThread
::
report_missing_slt
();
}
}
}
void
VM_CGC_Operation
::
release_and_notify_pending_list_lock
()
{
void
VM_CGC_Operation
::
release_and_notify_pending_list_lock
()
{
...
...
src/share/vm/gc_implementation/shared/concurrentGCThread.cpp
浏览文件 @
7d9ef496
...
@@ -137,6 +137,13 @@ SurrogateLockerThread* SurrogateLockerThread::make(TRAPS) {
...
@@ -137,6 +137,13 @@ SurrogateLockerThread* SurrogateLockerThread::make(TRAPS) {
return
res
;
return
res
;
}
}
void
SurrogateLockerThread
::
report_missing_slt
()
{
vm_exit_during_initialization
(
"GC before GC support fully initialized: "
"SLT is needed but has not yet been created."
);
ShouldNotReachHere
();
}
void
SurrogateLockerThread
::
manipulatePLL
(
SLT_msg_type
msg
)
{
void
SurrogateLockerThread
::
manipulatePLL
(
SLT_msg_type
msg
)
{
MutexLockerEx
x
(
&
_monitor
,
Mutex
::
_no_safepoint_check_flag
);
MutexLockerEx
x
(
&
_monitor
,
Mutex
::
_no_safepoint_check_flag
);
assert
(
_buffer
==
empty
,
"Should be empty"
);
assert
(
_buffer
==
empty
,
"Should be empty"
);
...
...
src/share/vm/gc_implementation/shared/concurrentGCThread.hpp
浏览文件 @
7d9ef496
...
@@ -93,6 +93,9 @@ class SurrogateLockerThread: public JavaThread {
...
@@ -93,6 +93,9 @@ class SurrogateLockerThread: public JavaThread {
public:
public:
static
SurrogateLockerThread
*
make
(
TRAPS
);
static
SurrogateLockerThread
*
make
(
TRAPS
);
// Terminate VM with error message that SLT needed but not yet created.
static
void
report_missing_slt
();
SurrogateLockerThread
();
SurrogateLockerThread
();
bool
is_hidden_from_external_view
()
const
{
return
true
;
}
bool
is_hidden_from_external_view
()
const
{
return
true
;
}
...
...
src/share/vm/runtime/interfaceSupport.cpp
浏览文件 @
7d9ef496
...
@@ -85,7 +85,7 @@ void InterfaceSupport::gc_alot() {
...
@@ -85,7 +85,7 @@ void InterfaceSupport::gc_alot() {
// Short-circuit any possible re-entrant gc-a-lot attempt
// Short-circuit any possible re-entrant gc-a-lot attempt
if
(
thread
->
skip_gcalot
())
return
;
if
(
thread
->
skip_gcalot
())
return
;
if
(
is_init_completed
())
{
if
(
Threads
::
is_vm_complete
())
{
if
(
++
_fullgc_alot_invocation
<
FullGCALotStart
)
{
if
(
++
_fullgc_alot_invocation
<
FullGCALotStart
)
{
return
;
return
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录