Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
ff919e46
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看板
提交
ff919e46
编写于
10月 15, 2013
作者:
S
stefank
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
b91a43a4
0a6bc09a
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
84 addition
and
9 deletion
+84
-9
src/share/vm/runtime/globals.hpp
src/share/vm/runtime/globals.hpp
+1
-1
test/TEST.groups
test/TEST.groups
+1
-1
test/gc/g1/TestHumongousAllocInitialMark.java
test/gc/g1/TestHumongousAllocInitialMark.java
+75
-0
test/gc/startup_warnings/TestCMS.java
test/gc/startup_warnings/TestCMS.java
+1
-1
test/gc/startup_warnings/TestCMSNoIncrementalMode.java
test/gc/startup_warnings/TestCMSNoIncrementalMode.java
+1
-1
test/gc/startup_warnings/TestG1.java
test/gc/startup_warnings/TestG1.java
+1
-1
test/gc/startup_warnings/TestParNewCMS.java
test/gc/startup_warnings/TestParNewCMS.java
+1
-1
test/gc/startup_warnings/TestParallelGC.java
test/gc/startup_warnings/TestParallelGC.java
+1
-1
test/gc/startup_warnings/TestParallelScavengeSerialOld.java
test/gc/startup_warnings/TestParallelScavengeSerialOld.java
+1
-1
test/gc/startup_warnings/TestSerialGC.java
test/gc/startup_warnings/TestSerialGC.java
+1
-1
未找到文件。
src/share/vm/runtime/globals.hpp
浏览文件 @
ff919e46
...
@@ -2175,7 +2175,7 @@ class CommandLineFlags {
...
@@ -2175,7 +2175,7 @@ class CommandLineFlags {
"Minimum ratio of young generation/survivor space size") \
"Minimum ratio of young generation/survivor space size") \
\
\
product(uintx, InitialSurvivorRatio, 8, \
product(uintx, InitialSurvivorRatio, 8, \
"Initial ratio of
eden/survivor space size")
\
"Initial ratio of
young generation/survivor space size")
\
\
\
product(uintx, BaseFootPrintEstimate, 256*M, \
product(uintx, BaseFootPrintEstimate, 256*M, \
"Estimate of footprint other than Java Heap") \
"Estimate of footprint other than Java Heap") \
...
...
test/TEST.groups
浏览文件 @
ff919e46
...
@@ -124,7 +124,7 @@ needs_compact3 = \
...
@@ -124,7 +124,7 @@ needs_compact3 = \
compiler/whitebox/IsMethodCompilableTest.java \
compiler/whitebox/IsMethodCompilableTest.java \
gc/6581734/Test6581734.java \
gc/6581734/Test6581734.java \
gc/7072527/TestFullGCCount.java \
gc/7072527/TestFullGCCount.java \
gc/
7168848/HumongousAlloc
.java \
gc/
g1/TestHumongousAllocInitialMark
.java \
gc/arguments/TestG1HeapRegionSize.java \
gc/arguments/TestG1HeapRegionSize.java \
gc/metaspace/TestMetaspaceMemoryPool.java \
gc/metaspace/TestMetaspaceMemoryPool.java \
runtime/InternalApi/ThreadCpuTimesDeadlock.java \
runtime/InternalApi/ThreadCpuTimesDeadlock.java \
...
...
test/gc/
7168848/HumongousAlloc
.java
→
test/gc/
g1/TestHumongousAllocInitialMark
.java
浏览文件 @
ff919e46
...
@@ -22,51 +22,52 @@
...
@@ -22,51 +22,52 @@
*/
*/
/*
/*
* @test
Humongous.java
* @test
TestHumongousAllocInitialMark
* @bug 7168848
* @bug 7168848
* @summary G1: humongous object allocations should initiate marking cycles when necessary
* @summary G1: humongous object allocations should initiate marking cycles when necessary
* @run main/othervm -Xms100m -Xmx100m -XX:+PrintGC -XX:G1HeapRegionSize=1m -XX:+UseG1GC HumongousAlloc
* @library /testlibrary
*
*/
*/
import
java.lang.management.GarbageCollectorMXBean
;
import
java.lang.management.ManagementFactory
;
import
java.util.List
;
public
class
HumongousAlloc
{
import
com.oracle.java.testlibrary.*
;
public
static
byte
[]
dummy
;
public
class
TestHumongousAllocInitialMark
{
private
static
int
sleepFreq
=
40
;
private
static
final
int
heapSize
=
200
;
// MB
private
static
int
sleepTime
=
1000
;
private
static
final
int
heapRegionSize
=
1
;
// MB
private
static
double
size
=
0.75
;
private
static
final
int
initiatingHeapOccupancyPercent
=
50
;
// %
private
static
int
iterations
=
50
;
private
static
int
MB
=
1024
*
1024
;
public
static
void
allocate
(
int
size
,
int
sleepTime
,
int
sleepFreq
)
throws
InterruptedException
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
out
.
println
(
"Will allocate objects of size: "
+
size
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
+
" bytes and sleep for "
+
sleepTime
"-XX:+UseG1GC"
,
+
" ms after every "
+
sleepFreq
+
"th allocation."
);
"-Xms"
+
heapSize
+
"m"
,
int
count
=
0
;
"-Xmx"
+
heapSize
+
"m"
,
while
(
count
<
iterations
)
{
"-XX:G1HeapRegionSize="
+
heapRegionSize
+
"m"
,
for
(
int
i
=
0
;
i
<
sleepFreq
;
i
++)
{
"-XX:InitiatingHeapOccupancyPercent="
+
initiatingHeapOccupancyPercent
,
dummy
=
new
byte
[
size
-
16
];
"-XX:+PrintGC"
,
}
HumongousObjectAllocator
.
class
.
getName
());
Thread
.
sleep
(
sleepTime
);
count
++;
}
}
public
static
void
main
(
String
[]
args
)
throws
InterruptedException
{
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
allocate
((
int
)
(
size
*
MB
),
sleepTime
,
sleepFreq
);
output
.
shouldContain
(
"GC pause (G1 Humongous Allocation) (young) (initial-mark)"
);
List
<
GarbageCollectorMXBean
>
collectors
=
ManagementFactory
.
getGarbageCollectorMXBeans
();
output
.
shouldNotContain
(
"Full GC"
);
for
(
GarbageCollectorMXBean
collector
:
collectors
)
{
output
.
shouldHaveExitValue
(
0
);
if
(
collector
.
getName
().
contains
(
"G1 Old"
))
{
long
count
=
collector
.
getCollectionCount
();
if
(
count
>
0
)
{
throw
new
RuntimeException
(
"Failed: FullGCs should not have happened. The number of FullGC run is "
+
count
);
}
else
{
System
.
out
.
println
(
"Passed."
);
}
}
static
class
HumongousObjectAllocator
{
private
static
byte
[]
dummy
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// Make object size 75% of region size
final
int
humongousObjectSize
=
(
int
)(
heapRegionSize
*
1024
*
1024
*
0.75
);
// Number of objects to allocate to go above IHOP
final
int
humongousObjectAllocations
=
(
int
)((
heapSize
*
initiatingHeapOccupancyPercent
/
100.0
)
/
heapRegionSize
)
+
1
;
// Allocate
for
(
int
i
=
1
;
i
<=
humongousObjectAllocations
;
i
++)
{
System
.
out
.
println
(
"Allocating humongous object "
+
i
+
"/"
+
humongousObjectAllocations
+
" of size "
+
humongousObjectSize
+
" bytes"
);
dummy
=
new
byte
[
humongousObjectSize
];
}
}
}
}
}
}
...
...
test/gc/startup_warnings/TestCMS.java
浏览文件 @
ff919e46
...
@@ -38,7 +38,7 @@ public class TestCMS {
...
@@ -38,7 +38,7 @@ public class TestCMS {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseConcMarkSweepGC"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseConcMarkSweepGC"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
test/gc/startup_warnings/TestCMSNoIncrementalMode.java
浏览文件 @
ff919e46
...
@@ -37,7 +37,7 @@ public class TestCMSNoIncrementalMode {
...
@@ -37,7 +37,7 @@ public class TestCMSNoIncrementalMode {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseConcMarkSweepGC"
,
"-XX:-CMSIncrementalMode"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseConcMarkSweepGC"
,
"-XX:-CMSIncrementalMode"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
test/gc/startup_warnings/TestG1.java
浏览文件 @
ff919e46
...
@@ -37,7 +37,7 @@ public class TestG1 {
...
@@ -37,7 +37,7 @@ public class TestG1 {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseG1GC"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseG1GC"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
test/gc/startup_warnings/TestParNewCMS.java
浏览文件 @
ff919e46
...
@@ -38,7 +38,7 @@ public class TestParNewCMS {
...
@@ -38,7 +38,7 @@ public class TestParNewCMS {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseParNewGC"
,
"-XX:+UseConcMarkSweepGC"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseParNewGC"
,
"-XX:+UseConcMarkSweepGC"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
test/gc/startup_warnings/TestParallelGC.java
浏览文件 @
ff919e46
...
@@ -38,7 +38,7 @@ public class TestParallelGC {
...
@@ -38,7 +38,7 @@ public class TestParallelGC {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseParallelGC"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseParallelGC"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
test/gc/startup_warnings/TestParallelScavengeSerialOld.java
浏览文件 @
ff919e46
...
@@ -38,7 +38,7 @@ public class TestParallelScavengeSerialOld {
...
@@ -38,7 +38,7 @@ public class TestParallelScavengeSerialOld {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseParallelGC"
,
"-XX:-UseParallelOldGC"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseParallelGC"
,
"-XX:-UseParallelOldGC"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
test/gc/startup_warnings/TestSerialGC.java
浏览文件 @
ff919e46
...
@@ -38,7 +38,7 @@ public class TestSerialGC {
...
@@ -38,7 +38,7 @@ public class TestSerialGC {
public
static
void
main
(
String
args
[])
throws
Exception
{
public
static
void
main
(
String
args
[])
throws
Exception
{
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseSerialGC"
,
"-version"
);
ProcessBuilder
pb
=
ProcessTools
.
createJavaProcessBuilder
(
"-XX:+UseSerialGC"
,
"-version"
);
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
OutputAnalyzer
output
=
new
OutputAnalyzer
(
pb
.
start
());
output
.
shouldNotContain
(
"
warning
"
);
output
.
shouldNotContain
(
"
deprecated
"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldNotContain
(
"error"
);
output
.
shouldHaveExitValue
(
0
);
output
.
shouldHaveExitValue
(
0
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录