Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
01a04487
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看板
提交
01a04487
编写于
4月 11, 2016
作者:
A
asaha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
ea605509
d63dbc8f
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
22 addition
and
105 deletion
+22
-105
.hgtags
.hgtags
+1
-0
src/share/vm/gc_implementation/g1/heapRegion.cpp
src/share/vm/gc_implementation/g1/heapRegion.cpp
+3
-1
src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
+2
-1
src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
+2
-3
test/TEST.groups
test/TEST.groups
+1
-1
test/gc/8000311/Test8000311.java
test/gc/8000311/Test8000311.java
+0
-42
test/gc/TestG1ZeroPGCTJcmdThreadPrint.java
test/gc/TestG1ZeroPGCTJcmdThreadPrint.java
+0
-54
test/gc/ergonomics/TestDynamicNumberOfGCThreads.java
test/gc/ergonomics/TestDynamicNumberOfGCThreads.java
+13
-3
未找到文件。
.hgtags
浏览文件 @
01a04487
...
...
@@ -850,3 +850,4 @@ f3e1e734e2d29101a9537ddeb71ecad413fcd352 jdk8u92-b13
d6c92b9e192ef97305a699e868387d55821c81ad jdk8u102-b00
d6c92b9e192ef97305a699e868387d55821c81ad jdk8u82-b00
516a64e6d7c2dc29fd932bf3b8313e560a01bcd0 jdk8u102-b01
83dc7e55f71596e6e76fabfa56b6008e070ff44c jdk8u102-b02
src/share/vm/gc_implementation/g1/heapRegion.cpp
浏览文件 @
01a04487
...
...
@@ -794,7 +794,9 @@ public:
"in region "
HR_FORMAT
,
(
void
*
)
obj
,
HR_FORMAT_PARAMS
(
to
));
obj
->
print_on
(
gclog_or_tty
);
if
(
obj
->
is_oop
())
{
obj
->
print_on
(
gclog_or_tty
);
}
gclog_or_tty
->
print_cr
(
"Obj head CTE = %d, field CTE = %d."
,
cv_obj
,
cv_field
);
gclog_or_tty
->
print_cr
(
"----------"
);
...
...
src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp
浏览文件 @
01a04487
...
...
@@ -193,8 +193,9 @@ int AdaptiveSizePolicy::calc_active_workers(uintx total_workers,
(
!
FLAG_IS_DEFAULT
(
ParallelGCThreads
)
&&
!
ForceDynamicNumberOfGCThreads
))
{
new_active_workers
=
total_workers
;
}
else
{
uintx
min_workers
=
(
total_workers
==
1
)
?
1
:
2
;
new_active_workers
=
calc_default_active_workers
(
total_workers
,
2
,
/* Minimum number of workers */
min_workers
,
active_workers
,
application_workers
);
}
...
...
src/share/vm/runtime/arguments.cpp
浏览文件 @
01a04487
...
...
@@ -1675,9 +1675,8 @@ void Arguments::set_g1_gc_flags() {
FLAG_SET_DEFAULT
(
ParallelGCThreads
,
Abstract_VM_Version
::
parallel_worker_threads
());
if
(
ParallelGCThreads
==
0
)
{
FLAG_SET_DEFAULT
(
ParallelGCThreads
,
Abstract_VM_Version
::
parallel_worker_threads
());
}
vm_exit_during_initialization
(
"The flag -XX:+UseG1GC can not be combined with -XX:ParallelGCThreads=0"
,
NULL
);
}
#if INCLUDE_ALL_GCS
if
(
G1ConcRefinementThreads
==
0
)
{
...
...
test/TEST.groups
浏览文件 @
01a04487
...
...
@@ -61,7 +61,6 @@ jdk = \
# can be resolved in some cases by using tools from the compile-jdk.
#
needs_jdk = \
gc/TestG1ZeroPGCTJcmdThreadPrint.java \
gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java \
gc/metaspace/TestMetaspacePerfCounters.java \
gc/metaspace/TestPerfCountersAndMemoryPools.java \
...
...
@@ -216,6 +215,7 @@ needs_full_vm_compact1 = \
runtime/NMT \
gc/class_unloading/TestCMSClassUnloadingEnabledHWM.java \
gc/class_unloading/TestG1ClassUnloadingHWM.java \
gc/ergonomics/TestDynamicNumberOfGCThreads.java \
gc/g1/TestRegionAlignment.java \
gc/g1/TestShrinkToOneRegion.java \
gc/metaspace/G1AddMetaspaceDependency.java \
...
...
test/gc/8000311/Test8000311.java
已删除
100644 → 0
浏览文件 @
ea605509
/*
* Copyright (c) 2013, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/**
* @test Test8000311
* @key gc
* @bug 8000311
* @summary G1: ParallelGCThreads==0 broken
* @run main/othervm -XX:+UseG1GC -XX:ParallelGCThreads=0 -XX:+ResizePLAB -XX:+ExplicitGCInvokesConcurrent Test8000311
* @author filipp.zhinkin@oracle.com
*/
import
java.util.*
;
public
class
Test8000311
{
public
static
void
main
(
String
args
[])
{
for
(
int
i
=
0
;
i
<
100
;
i
++)
{
byte
[]
garbage
=
new
byte
[
1000
];
System
.
gc
();
}
}
}
test/gc/TestG1ZeroPGCTJcmdThreadPrint.java
已删除
100644 → 0
浏览文件 @
ea605509
/*
* Copyright (c) 2013, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test TestG1ZeroPGCTJcmdThreadPrint
* @key gc
* @bug 8005875
* @summary Use jcmd to generate a thread dump of a Java program being run with PGCT=0 to verify 8005875
* @library /testlibrary
* @run main/othervm -XX:+UseG1GC -XX:ParallelGCThreads=0 -XX:+IgnoreUnrecognizedVMOptions TestG1ZeroPGCTJcmdThreadPrint
*/
import
com.oracle.java.testlibrary.*
;
public
class
TestG1ZeroPGCTJcmdThreadPrint
{
public
static
void
main
(
String
args
[])
throws
Exception
{
// Grab the pid from the current java process
String
pid
=
Integer
.
toString
(
ProcessTools
.
getProcessId
());
// Create a ProcessBuilder
ProcessBuilder
pb
=
new
ProcessBuilder
();
// Run jcmd <pid> Thread.print
pb
.
command
(
JDKToolFinder
.
getJDKTool
(
"jcmd"
),
pid
,
"Thread.print"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
// There shouldn't be a work gang for concurrent marking.
output
.
shouldNotContain
(
"G1 Parallel Marking Threads"
);
// Make sure we didn't crash
output
.
shouldHaveExitValue
(
0
);
}
}
test/gc/ergonomics/TestDynamicNumberOfGCThreads.java
浏览文件 @
01a04487
...
...
@@ -44,14 +44,24 @@ public class TestDynamicNumberOfGCThreads {
}
private
static
void
verifyDynamicNumberOfGCThreads
(
OutputAnalyzer
output
)
{
output
.
shouldHaveExitValue
(
0
);
// test should run succesfully
output
.
shouldContain
(
"new_active_workers"
);
output
.
shouldHaveExitValue
(
0
);
}
private
static
void
testDynamicNumberOfGCThreads
(
String
gcFlag
)
throws
Exception
{
// UseDynamicNumberOfGCThreads and TraceDynamicGCThreads enabled
ProcessBuilder
pb_enabled
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+"
+
gcFlag
,
"-Xmx10M"
,
"-XX:+PrintGCDetails"
,
"-XX:+UseDynamicNumberOfGCThreads"
,
"-XX:+TraceDynamicGCThreads"
,
GCTest
.
class
.
getName
());
String
[]
baseArgs
=
{
"-XX:+"
+
gcFlag
,
"-Xmx10M"
,
"-XX:+PrintGCDetails"
,
"-XX:+UseDynamicNumberOfGCThreads"
,
"-XX:+TraceDynamicGCThreads"
,
GCTest
.
class
.
getName
()};
// Base test with gc and +UseDynamicNumberOfGCThreads:
ProcessBuilder
pb_enabled
=
ProcessTools
.
createJavaProcessBuilder
(
baseArgs
);
verifyDynamicNumberOfGCThreads
(
new
OutputAnalyzer
(
pb_enabled
.
start
()));
// Ensure it also works on uniprocessors or if user specifies -XX:ParallelGCThreads=1:
String
[]
extraArgs
=
{
"-XX:+UnlockDiagnosticVMOptions"
,
"-XX:+ForceDynamicNumberOfGCThreads"
,
"-XX:ParallelGCThreads=1"
};
String
[]
finalArgs
=
new
String
[
baseArgs
.
length
+
extraArgs
.
length
];
System
.
arraycopy
(
extraArgs
,
0
,
finalArgs
,
0
,
extraArgs
.
length
);
System
.
arraycopy
(
baseArgs
,
0
,
finalArgs
,
extraArgs
.
length
,
baseArgs
.
length
);
pb_enabled
=
ProcessTools
.
createJavaProcessBuilder
(
finalArgs
);
verifyDynamicNumberOfGCThreads
(
new
OutputAnalyzer
(
pb_enabled
.
start
()));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录