Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
95e2d83f
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看板
提交
95e2d83f
编写于
11月 01, 2012
作者:
J
jcoomes
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
f1c32c32
3b03ea9a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
2 addition
and
43 deletion
+2
-43
src/share/vm/memory/collectorPolicy.cpp
src/share/vm/memory/collectorPolicy.cpp
+2
-1
src/share/vm/utilities/taskqueue.hpp
src/share/vm/utilities/taskqueue.hpp
+0
-42
未找到文件。
src/share/vm/memory/collectorPolicy.cpp
浏览文件 @
95e2d83f
...
...
@@ -742,6 +742,8 @@ MetaWord* CollectorPolicy::satisfy_failed_metadata_allocation(
uint
gc_count
=
0
;
uint
full_gc_count
=
0
;
assert
(
!
Heap_lock
->
owned_by_self
(),
"Should not be holding the Heap_lock"
);
do
{
MetaWord
*
result
=
NULL
;
if
(
GC_locker
::
is_active_and_needs_gc
())
{
...
...
@@ -756,7 +758,6 @@ MetaWord* CollectorPolicy::satisfy_failed_metadata_allocation(
}
JavaThread
*
jthr
=
JavaThread
::
current
();
if
(
!
jthr
->
in_critical
())
{
MutexUnlocker
mul
(
Heap_lock
);
// Wait for JNI critical section to be exited
GC_locker
::
stall_until_clear
();
// The GC invoked by the last thread leaving the critical
...
...
src/share/vm/utilities/taskqueue.hpp
浏览文件 @
95e2d83f
...
...
@@ -496,9 +496,7 @@ public:
}
}
bool
steal_1_random
(
uint
queue_num
,
int
*
seed
,
E
&
t
);
bool
steal_best_of_2
(
uint
queue_num
,
int
*
seed
,
E
&
t
);
bool
steal_best_of_all
(
uint
queue_num
,
int
*
seed
,
E
&
t
);
void
register_queue
(
uint
i
,
T
*
q
);
...
...
@@ -537,46 +535,6 @@ GenericTaskQueueSet<T, F>::steal(uint queue_num, int* seed, E& t) {
return
false
;
}
template
<
class
T
,
MEMFLAGS
F
>
bool
GenericTaskQueueSet
<
T
,
F
>::
steal_best_of_all
(
uint
queue_num
,
int
*
seed
,
E
&
t
)
{
if
(
_n
>
2
)
{
int
best_k
;
uint
best_sz
=
0
;
for
(
uint
k
=
0
;
k
<
_n
;
k
++
)
{
if
(
k
==
queue_num
)
continue
;
uint
sz
=
_queues
[
k
]
->
size
();
if
(
sz
>
best_sz
)
{
best_sz
=
sz
;
best_k
=
k
;
}
}
return
best_sz
>
0
&&
_queues
[
best_k
]
->
pop_global
(
t
);
}
else
if
(
_n
==
2
)
{
// Just try the other one.
int
k
=
(
queue_num
+
1
)
%
2
;
return
_queues
[
k
]
->
pop_global
(
t
);
}
else
{
assert
(
_n
==
1
,
"can't be zero."
);
return
false
;
}
}
template
<
class
T
,
MEMFLAGS
F
>
bool
GenericTaskQueueSet
<
T
,
F
>::
steal_1_random
(
uint
queue_num
,
int
*
seed
,
E
&
t
)
{
if
(
_n
>
2
)
{
uint
k
=
queue_num
;
while
(
k
==
queue_num
)
k
=
TaskQueueSetSuper
::
randomParkAndMiller
(
seed
)
%
_n
;
return
_queues
[
2
]
->
pop_global
(
t
);
}
else
if
(
_n
==
2
)
{
// Just try the other one.
int
k
=
(
queue_num
+
1
)
%
2
;
return
_queues
[
k
]
->
pop_global
(
t
);
}
else
{
assert
(
_n
==
1
,
"can't be zero."
);
return
false
;
}
}
template
<
class
T
,
MEMFLAGS
F
>
bool
GenericTaskQueueSet
<
T
,
F
>::
steal_best_of_2
(
uint
queue_num
,
int
*
seed
,
E
&
t
)
{
if
(
_n
>
2
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录