Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
972b5590
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看板
提交
972b5590
编写于
6月 03, 2014
作者:
S
sla
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
386f45e3
f5239aa4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
116 addition
and
4 deletion
+116
-4
make/bsd/makefiles/universal.gmk
make/bsd/makefiles/universal.gmk
+5
-3
src/cpu/sparc/vm/copy_sparc.hpp
src/cpu/sparc/vm/copy_sparc.hpp
+1
-1
src/share/vm/ci/bcEscapeAnalyzer.cpp
src/share/vm/ci/bcEscapeAnalyzer.cpp
+3
-0
test/compiler/EscapeAnalysis/TestAllocatedEscapesPtrComparison.java
...ler/EscapeAnalysis/TestAllocatedEscapesPtrComparison.java
+107
-0
未找到文件。
make/bsd/makefiles/universal.gmk
浏览文件 @
972b5590
#
# Copyright (c) 2006, 201
3
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 201
4
, 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
...
...
@@ -74,19 +74,21 @@ $(UNIVERSAL_COPY_LIST):
# Replace arch specific binaries with universal binaries
# Do not touch jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
# That symbolic link belongs to the 'jdk' build.
export_universal:
$(RM) -r $(EXPORT_PATH)/jre/lib/{i386,amd64}
$(RM) -r $(JDK_IMAGE_DIR)/jre/lib/{i386,amd64}
$(RM) $(JDK_IMAGE_DIR)/jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
($(CD) $(EXPORT_PATH) && \
$(TAR) -cf - *) | \
($(CD) $(JDK_IMAGE_DIR) && $(TAR) -xpf -)
# Overlay universal binaries
# Do not touch jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
# That symbolic link belongs to the 'jdk' build.
copy_universal:
$(RM) -r $(JDK_IMAGE_DIR)$(COPY_SUBDIR)/jre/lib/{i386,amd64}
$(RM) $(JDK_IMAGE_DIR)$(COPY_SUBDIR)/jre/lib/{client,server}/libjsig.$(LIBRARY_SUFFIX)
($(CD) $(EXPORT_PATH)$(COPY_SUBDIR) && \
$(TAR) -cf - *) | \
($(CD) $(JDK_IMAGE_DIR)$(COPY_SUBDIR) && $(TAR) -xpf -)
...
...
src/cpu/sparc/vm/copy_sparc.hpp
浏览文件 @
972b5590
...
...
@@ -184,7 +184,7 @@ static void pd_fill_to_aligned_words(HeapWord* tohw, size_t count, juint value)
assert
(
MinObjAlignmentInBytes
>=
BytesPerLong
,
"need alternate implementation"
);
if
(
value
==
0
&&
UseBlockZeroing
&&
(
count
>
(
BlockZeroingLowLimit
>>
LogHeapWordSize
)))
{
(
count
>
(
size_t
)(
BlockZeroingLowLimit
>>
LogHeapWordSize
)))
{
// Call it only when block zeroing is used
((
_zero_Fn
)
StubRoutines
::
zero_aligned_words
())(
tohw
,
count
);
}
else
{
...
...
src/share/vm/ci/bcEscapeAnalyzer.cpp
浏览文件 @
972b5590
...
...
@@ -158,6 +158,9 @@ void BCEscapeAnalyzer::clear_bits(ArgumentMap vars, VectorSet &bm) {
void
BCEscapeAnalyzer
::
set_method_escape
(
ArgumentMap
vars
)
{
clear_bits
(
vars
,
_arg_local
);
if
(
vars
.
contains_allocated
())
{
_allocated_escapes
=
true
;
}
}
void
BCEscapeAnalyzer
::
set_global_escape
(
ArgumentMap
vars
,
bool
merge
)
{
...
...
test/compiler/EscapeAnalysis/TestAllocatedEscapesPtrComparison.java
0 → 100644
浏览文件 @
972b5590
/*
* Copyright 2014 Google, Inc. 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
* @bug 8043354
* @summary bcEscapeAnalyzer allocated_escapes not conservative enough
* @run main/othervm -XX:CompileOnly=.visitAndPop TestAllocatedEscapesPtrComparison
* @author Chuck Rasbold rasbold@google.com
*/
/*
* Test always passes with -XX:-OptmimizePtrCompare
*/
import
java.util.ArrayList
;
import
java.util.List
;
public
class
TestAllocatedEscapesPtrComparison
{
static
TestAllocatedEscapesPtrComparison
dummy
;
class
Marker
{
}
List
<
Marker
>
markerList
=
new
ArrayList
<>();
// Suppress compilation of this method, it must be processed
// by the bytecode escape analyzer.
// Make a new marker and put it on the List
Marker
getMarker
()
{
// result escapes through markerList
final
Marker
result
=
new
Marker
();
markerList
.
add
(
result
);
return
result
;
}
void
visit
(
int
depth
)
{
// Make a new marker
getMarker
();
// Call visitAndPop every once in a while
// Cap the depth of our recursive visits
if
(
depth
%
10
==
2
)
{
visitAndPop
(
depth
+
1
);
}
else
if
(
depth
<
15
)
{
visit
(
depth
+
1
);
}
}
void
visitAndPop
(
int
depth
)
{
// Random dummy allocation to force EscapeAnalysis to process this method
dummy
=
new
TestAllocatedEscapesPtrComparison
();
// Make a new marker
Marker
marker
=
getMarker
();
visit
(
depth
+
1
);
// Walk and pop the marker list up to the current marker
boolean
found
=
false
;
for
(
int
i
=
markerList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
Marker
removed
=
markerList
.
remove
(
i
);
// In the failure, EA mistakenly converts this comparison to false
if
(
removed
==
marker
)
{
found
=
true
;
break
;
}
}
if
(!
found
)
{
throw
new
RuntimeException
(
"test fails"
);
}
}
public
static
void
main
(
String
args
[])
{
TestAllocatedEscapesPtrComparison
tc
=
new
TestAllocatedEscapesPtrComparison
();
// Warmup and run enough times
for
(
int
i
=
0
;
i
<
20000
;
i
++)
{
tc
.
visit
(
0
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录