Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
9e148566
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看板
提交
9e148566
编写于
4月 12, 2011
作者:
C
coleenp
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
a2335786
d54804f0
变更
30
隐藏空白更改
内联
并排
Showing
30 changed file
with
165 addition
and
117 deletion
+165
-117
agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java
agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java
+2
-2
agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java
.../src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java
+3
-5
agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java
.../src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java
+3
-4
agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java
.../src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java
+2
-2
agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java
...rc/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java
+3
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java
agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java
+1
-2
agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java
...src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java
+3
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java
...c/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java
+3
-4
agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java
.../share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java
+3
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java
...t/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java
+2
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java
.../src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java
+3
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java
agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java
+2
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java
.../share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java
+3
-3
agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java
...src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java
+3
-4
agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java
...share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java
+4
-5
make/linux/makefiles/sa.make
make/linux/makefiles/sa.make
+3
-3
make/linux/makefiles/vm.make
make/linux/makefiles/vm.make
+3
-1
make/solaris/makefiles/sa.make
make/solaris/makefiles/sa.make
+3
-3
make/windows/makefiles/sa.make
make/windows/makefiles/sa.make
+4
-4
src/os/linux/vm/os_linux.cpp
src/os/linux/vm/os_linux.cpp
+25
-31
src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
+4
-2
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.cpp
+25
-16
src/share/vm/classfile/stackMapFrame.cpp
src/share/vm/classfile/stackMapFrame.cpp
+5
-3
src/share/vm/classfile/stackMapFrame.hpp
src/share/vm/classfile/stackMapFrame.hpp
+2
-1
src/share/vm/classfile/stackMapTable.cpp
src/share/vm/classfile/stackMapTable.cpp
+4
-1
src/share/vm/classfile/vmSymbols.hpp
src/share/vm/classfile/vmSymbols.hpp
+1
-0
src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
+2
-1
src/share/vm/runtime/os.cpp
src/share/vm/runtime/os.cpp
+38
-0
src/share/vm/runtime/os.hpp
src/share/vm/runtime/os.hpp
+4
-0
test/compiler/6795161/Test.java
test/compiler/6795161/Test.java
+2
-2
未找到文件。
agent/src/share/classes/sun/jvm/hotspot/HelloWorld.java
浏览文件 @
9e148566
/*
* Copyright (c) 2000, 20
0
1, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 20
1
1, 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
...
...
@@ -55,7 +55,7 @@ public class HelloWorld {
synchronized
(
lock
)
{
if
(
useMethodInvoke
)
{
try
{
Method
method
=
HelloWorld
.
class
.
getMethod
(
"e"
,
null
);
Method
method
=
HelloWorld
.
class
.
getMethod
(
"e"
);
Integer
result
=
(
Integer
)
method
.
invoke
(
null
,
new
Object
[
0
]);
return
result
.
intValue
();
}
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/ByteValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -52,12 +52,10 @@ public class ByteValueImpl extends PrimitiveValueImpl
return
intValue
();
}
public
int
compareTo
(
Object
obj
)
{
byte
other
=
((
ByteValue
)
obj
).
value
();
return
value
()
-
other
;
public
int
compareTo
(
ByteValue
byteVal
)
{
return
value
()
-
byteVal
.
value
();
}
public
Type
type
()
{
return
vm
.
theByteType
();
}
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/CharValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -52,9 +52,8 @@ public class CharValueImpl extends PrimitiveValueImpl
return
intValue
();
}
public
int
compareTo
(
Object
obj
)
{
char
other
=
((
CharValue
)
obj
).
value
();
return
value
()
-
other
;
public
int
compareTo
(
CharValue
charVal
)
{
return
value
()
-
charVal
.
value
();
}
public
Type
type
()
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/ConnectorImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
04
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -186,7 +186,7 @@ abstract class ConnectorImpl implements Connector {
// assert isVMVersionMismatch(throwable), "not a VMVersionMismatch"
Class
expClass
=
throwable
.
getClass
();
Method
targetVersionMethod
=
expClass
.
getMethod
(
"getTargetVersion"
,
new
Class
[
0
]);
return
(
String
)
targetVersionMethod
.
invoke
(
throwable
,
null
);
return
(
String
)
targetVersionMethod
.
invoke
(
throwable
);
}
/** If the causal chain has a sun.jvm.hotspot.runtime.VMVersionMismatchException,
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/DoubleValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -45,8 +45,8 @@ public class DoubleValueImpl extends PrimitiveValueImpl
}
}
public
int
compareTo
(
Object
obj
)
{
double
other
=
((
DoubleValue
)
obj
)
.
value
();
public
int
compareTo
(
DoubleValue
doubleVal
)
{
double
other
=
doubleVal
.
value
();
if
(
value
()
<
other
)
{
return
-
1
;
}
else
if
(
value
()
==
other
)
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/FieldImpl.java
浏览文件 @
9e148566
...
...
@@ -145,8 +145,7 @@ public class FieldImpl extends TypeComponentImpl implements Field {
}
// From interface Comparable
public
int
compareTo
(
Object
object
)
{
Field
field
=
(
Field
)
object
;
public
int
compareTo
(
Field
field
)
{
ReferenceTypeImpl
declaringType
=
(
ReferenceTypeImpl
)
declaringType
();
int
rc
=
declaringType
.
compareTo
(
field
.
declaringType
());
if
(
rc
==
0
)
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/FloatValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -52,8 +52,8 @@ public class FloatValueImpl extends PrimitiveValueImpl
return
intValue
();
}
public
int
compareTo
(
Object
obj
)
{
float
other
=
((
FloatValue
)
obj
)
.
value
();
public
int
compareTo
(
FloatValue
floatVal
)
{
float
other
=
floatVal
.
value
();
if
(
value
()
<
other
)
{
return
-
1
;
}
else
if
(
value
()
==
other
)
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/IntegerValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -52,9 +52,8 @@ public class IntegerValueImpl extends PrimitiveValueImpl
return
intValue
();
}
public
int
compareTo
(
Object
obj
)
{
int
other
=
((
IntegerValue
)
obj
).
value
();
return
value
()
-
other
;
public
int
compareTo
(
IntegerValue
integerVal
)
{
return
value
()
-
integerVal
.
value
();
}
public
Type
type
()
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/LocalVariableImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
04
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -67,8 +67,8 @@ public class LocalVariableImpl extends MirrorImpl
return
(
int
)
method
.
hashCode
()
+
slot
();
}
public
int
compareTo
(
Object
object
)
{
LocalVariableImpl
other
=
(
LocalVariableImpl
)
object
;
public
int
compareTo
(
LocalVariable
localVar
)
{
LocalVariableImpl
other
=
(
LocalVariableImpl
)
localVar
;
int
rc
=
method
.
compareTo
(
other
.
method
);
if
(
rc
==
0
)
{
rc
=
slot
()
-
other
.
slot
();
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/LocationImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -78,8 +78,7 @@ public class LocationImpl extends MirrorImpl implements Location {
return
method
().
hashCode
()
+
(
int
)
codeIndex
();
}
public
int
compareTo
(
Object
object
)
{
LocationImpl
other
=
(
LocationImpl
)
object
;
public
int
compareTo
(
Location
other
)
{
int
rc
=
method
().
compareTo
(
other
.
method
());
if
(
rc
==
0
)
{
long
diff
=
codeIndex
()
-
other
.
codeIndex
();
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/LongValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -52,8 +52,8 @@ public class LongValueImpl extends PrimitiveValueImpl
return
intValue
();
}
public
int
compareTo
(
Object
obj
)
{
long
other
=
((
LongValue
)
obj
)
.
value
();
public
int
compareTo
(
LongValue
longVal
)
{
long
other
=
longVal
.
value
();
if
(
value
()
<
other
)
{
return
-
1
;
}
else
if
(
value
()
==
other
)
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/MethodImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -200,8 +200,7 @@ public abstract class MethodImpl extends TypeComponentImpl implements Method {
}
// From interface Comparable
public
int
compareTo
(
Object
object
)
{
Method
method
=
(
Method
)
object
;
public
int
compareTo
(
Method
method
)
{
ReferenceTypeImpl
declaringType
=
(
ReferenceTypeImpl
)
declaringType
();
int
rc
=
declaringType
.
compareTo
(
method
.
declaringType
());
if
(
rc
==
0
)
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -99,7 +99,7 @@ implements ReferenceType {
return
saKlass
.
hashCode
();
}
public
int
compareTo
(
Object
object
)
{
public
int
compareTo
(
ReferenceType
refType
)
{
/*
* Note that it is critical that compareTo() == 0
* implies that equals() == true. Otherwise, TreeSet
...
...
@@ -108,7 +108,7 @@ implements ReferenceType {
* (Classes of the same name loaded by different class loaders
* or in different VMs must not return 0).
*/
ReferenceTypeImpl
other
=
(
ReferenceTypeImpl
)
object
;
ReferenceTypeImpl
other
=
(
ReferenceTypeImpl
)
refType
;
int
comp
=
name
().
compareTo
(
other
.
name
());
if
(
comp
==
0
)
{
Oop
rf1
=
ref
();
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/ShortValueImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
03
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -52,9 +52,8 @@ public class ShortValueImpl extends PrimitiveValueImpl
return
intValue
();
}
public
int
compareTo
(
Object
obj
)
{
short
other
=
((
ShortValue
)
obj
).
value
();
return
value
()
-
other
;
public
int
compareTo
(
ShortValue
shortVal
)
{
return
value
()
-
shortVal
.
value
();
}
public
Type
type
()
{
...
...
agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java
浏览文件 @
9e148566
/*
* Copyright (c) 2002, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, 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
...
...
@@ -798,12 +798,11 @@ public class VirtualMachineImpl extends MirrorImpl implements PathSearchingVirtu
}
public
String
description
()
{
String
[]
versionParts
=
{
""
+
vmmgr
.
majorInterfaceVersion
(),
""
+
vmmgr
.
minorInterfaceVersion
(),
name
()};
return
java
.
text
.
MessageFormat
.
format
(
java
.
util
.
ResourceBundle
.
getBundle
(
"com.sun.tools.jdi.resources.jdi"
).
getString
(
"version_format"
),
versionParts
);
""
+
vmmgr
.
majorInterfaceVersion
(),
""
+
vmmgr
.
minorInterfaceVersion
(),
name
());
}
public
String
version
()
{
...
...
make/linux/makefiles/sa.make
浏览文件 @
9e148566
#
# Copyright (c) 2003, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 201
1
, 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
...
...
@@ -97,8 +97,8 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
$(foreach
file,$(AGENT_FILES1),$(shell
echo
$(file)
>>
$(AGENT_FILES1_LIST)))
$(foreach
file,$(AGENT_FILES2),$(shell
echo
$(file)
>>
$(AGENT_FILES2_LIST)))
$(QUIETLY)
$(REMOTE)
$(COMPILE.JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES1_LIST)
$(QUIETLY)
$(REMOTE)
$(COMPILE.JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES2_LIST)
$(QUIETLY)
$(REMOTE)
$(COMPILE.JAVAC)
-classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES1_LIST)
$(QUIETLY)
$(REMOTE)
$(COMPILE.JAVAC)
-classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES2_LIST)
$(QUIETLY)
$(REMOTE)
$(COMPILE.RMIC)
-classpath
$(SA_CLASSDIR)
-d
$(SA_CLASSDIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(QUIETLY)
echo
"$(SA_BUILD_VERSION_PROP)"
>
$(SA_PROPERTIES)
...
...
make/linux/makefiles/vm.make
浏览文件 @
9e148566
...
...
@@ -142,13 +142,15 @@ COMPILER2_PATHS += $(HS_COMMON_SRC)/share/vm/opto
COMPILER2_PATHS
+=
$(HS_COMMON_SRC)
/share/vm/libadt
COMPILER2_PATHS
+=
$(GENERATED)
/adfiles
SHARK_PATHS
:=
$(GAMMADIR)
/src/share/vm/shark
# Include dirs per type.
Src_Dirs/CORE
:
= $(CORE_PATHS)
Src_Dirs/COMPILER1
:
= $(CORE_PATHS) $(COMPILER1_PATHS)
Src_Dirs/COMPILER2
:
= $(CORE_PATHS) $(COMPILER2_PATHS)
Src_Dirs/TIERED
:
= $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS)
Src_Dirs/ZERO
:
= $(CORE_PATHS)
Src_Dirs/SHARK
:
= $(CORE_PATHS)
Src_Dirs/SHARK
:
= $(CORE_PATHS)
$(SHARK_PATHS)
Src_Dirs
:=
$
(
Src_Dirs/
$(TYPE)
)
COMPILER2_SPECIFIC_FILES
:=
opto libadt bcEscapeAnalyzer.cpp chaitin
\*
c2_
\*
runtime_
\*
...
...
make/solaris/makefiles/sa.make
浏览文件 @
9e148566
#
# Copyright (c) 2003, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 201
1
, 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
...
...
@@ -88,8 +88,8 @@ $(GENERATED)/sa-jdi.jar: $(AGENT_FILES1) $(AGENT_FILES2)
$(foreach
file,$(AGENT_FILES1),$(shell
echo
$(file)
>>
$(AGENT_FILES1_LIST)))
$(foreach
file,$(AGENT_FILES2),$(shell
echo
$(file)
>>
$(AGENT_FILES2_LIST)))
$(QUIETLY)
$(COMPILE.JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES1_LIST)
$(QUIETLY)
$(COMPILE.JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES2_LIST)
$(QUIETLY)
$(COMPILE.JAVAC)
-classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES1_LIST)
$(QUIETLY)
$(COMPILE.JAVAC)
-classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
@$(AGENT_FILES2_LIST)
$(QUIETLY)
$(COMPILE.RMIC)
-classpath
$(SA_CLASSDIR)
-d
$(SA_CLASSDIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(QUIETLY)
echo
"$(SA_BUILD_VERSION_PROP)"
>
$(SA_PROPERTIES)
...
...
make/windows/makefiles/sa.make
浏览文件 @
9e148566
#
# Copyright (c) 2003, 20
09
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2003, 20
11
, 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
...
...
@@ -55,9 +55,9 @@ default:: $(GENERATED)\sa-jdi.jar
$(GENERATED)\sa-jdi.jar
:
$(AGENT_FILES1:/=
\)
$(AGENT_FILES2:/=
\)
@
if
not exist
$(SA_CLASSDIR)
mkdir
$(SA_CLASSDIR)
@
echo
...Building sa-jdi.jar
@
echo
...
$(COMPILE_JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-d
$(SA_CLASSDIR)
....
@
$(COMPILE_JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
$
(
AGENT_FILES1:/
=
\)
@
$(COMPILE_JAVAC)
-
source
1.4
-target
1.4
-
classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
$
(
AGENT_FILES2:/
=
\)
@
echo
...
$(COMPILE_JAVAC)
-classpath
$(SA_CLASSPATH)
-d
$(SA_CLASSDIR)
....
@
$(COMPILE_JAVAC)
-classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
$
(
AGENT_FILES1:/
=
\)
@
$(COMPILE_JAVAC)
-classpath
$(SA_CLASSPATH)
-sourcepath
$(AGENT_SRC_DIR)
-d
$(SA_CLASSDIR)
$
(
AGENT_FILES2:/
=
\)
$(COMPILE_RMIC)
-classpath
$(SA_CLASSDIR)
-d
$(SA_CLASSDIR)
sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
$(QUIETLY)
echo
$(SA_BUILD_VERSION_PROP)
>
$(SA_PROPERTIES)
$(QUIETLY)
rm
-f
$(SA_CLASSDIR)
/sun/jvm/hotspot/utilities/soql/sa.js
...
...
src/os/linux/vm/os_linux.cpp
浏览文件 @
9e148566
...
...
@@ -2648,45 +2648,39 @@ bool os::uncommit_memory(char* addr, size_t size) {
// writing thread stacks don't use growable mappings (i.e. those
// creeated with MAP_GROWSDOWN), and aren't marked "[stack]", so this
// only applies to the main thread.
static
bool
get_stack_bounds
(
uintptr_t
*
bottom
,
uintptr_t
*
top
)
{
FILE
*
f
=
fopen
(
"/proc/self/maps"
,
"r"
);
if
(
f
==
NULL
)
return
false
;
while
(
!
feof
(
f
))
{
size_t
dummy
;
char
*
str
=
NULL
;
ssize_t
len
=
getline
(
&
str
,
&
dummy
,
f
);
if
(
len
==
-
1
)
{
fclose
(
f
);
return
false
;
}
static
bool
get_stack_bounds
(
uintptr_t
*
bottom
,
uintptr_t
*
top
)
{
if
(
len
>
0
&&
str
[
len
-
1
]
==
'\n'
)
{
str
[
len
-
1
]
=
0
;
len
--
;
}
char
buf
[
128
];
int
fd
,
sz
;
if
((
fd
=
::
open
(
"/proc/self/maps"
,
O_RDONLY
))
<
0
)
{
return
false
;
}
static
const
char
*
stack_str
=
"[stack]"
;
if
(
len
>
(
ssize_t
)
strlen
(
stack_str
)
&&
(
strcmp
(
str
+
len
-
strlen
(
stack_str
),
stack_str
)
==
0
))
{
if
(
sscanf
(
str
,
"%"
SCNxPTR
"-%"
SCNxPTR
,
bottom
,
top
)
==
2
)
{
uintptr_t
sp
=
(
uintptr_t
)
__builtin_frame_address
(
0
);
if
(
sp
>=
*
bottom
&&
sp
<=
*
top
)
{
free
(
str
);
fclose
(
f
);
return
true
;
const
char
kw
[]
=
"[stack]"
;
const
int
kwlen
=
sizeof
(
kw
)
-
1
;
// Address part of /proc/self/maps couldn't be more than 128 bytes
while
((
sz
=
os
::
get_line_chars
(
fd
,
buf
,
sizeof
(
buf
)))
>
0
)
{
if
(
sz
>
kwlen
&&
::
memcmp
(
buf
+
sz
-
kwlen
,
kw
,
kwlen
)
==
0
)
{
// Extract addresses
if
(
sscanf
(
buf
,
"%"
SCNxPTR
"-%"
SCNxPTR
,
bottom
,
top
)
==
2
)
{
uintptr_t
sp
=
(
uintptr_t
)
__builtin_frame_address
(
0
);
if
(
sp
>=
*
bottom
&&
sp
<=
*
top
)
{
::
close
(
fd
);
return
true
;
}
}
}
}
free
(
str
);
}
}
fclose
(
f
);
::
close
(
fd
);
return
false
;
}
// If the (growable) stack mapping already extends beyond the point
// where we're going to put our guard pages, truncate the mapping at
// that point by munmap()ping it. This ensures that when we later
...
...
src/share/tools/ProjectCreator/WinGammaPlatformVC10.java
浏览文件 @
9e148566
...
...
@@ -497,6 +497,9 @@ class CompilerInterfaceVC10 extends CompilerInterface {
addAttr
(
rv
,
"TargetMachine"
,
"MachineX64"
);
}
// We always want the /DEBUG option to get full symbol information in the pdb files
addAttr
(
rv
,
"GenerateDebugInformation"
,
"true"
);
return
rv
;
}
...
...
@@ -504,8 +507,7 @@ class CompilerInterfaceVC10 extends CompilerInterface {
Vector
getDebugLinkerFlags
()
{
Vector
rv
=
new
Vector
();
// /DEBUG option
addAttr
(
rv
,
"GenerateDebugInformation"
,
"true"
);
// Empty now that /DEBUG option is used by all configs
return
rv
;
}
...
...
src/share/vm/classfile/javaClasses.cpp
浏览文件 @
9e148566
...
...
@@ -1431,32 +1431,41 @@ void java_lang_Throwable::fill_in_stack_trace(Handle throwable, TRAPS) {
}
}
#ifdef ASSERT
assert
(
st_method
()
==
method
&&
st
.
bci
()
==
bci
,
"Wrong stack trace"
);
st
.
next
();
// vframeStream::method isn't GC-safe so store off a copy
// of the methodOop in case we GC.
if
(
!
st
.
at_end
())
{
st_method
=
st
.
method
();
}
assert
(
st_method
()
==
method
&&
st
.
bci
()
==
bci
,
"Wrong stack trace"
);
st
.
next
();
// vframeStream::method isn't GC-safe so store off a copy
// of the methodOop in case we GC.
if
(
!
st
.
at_end
())
{
st_method
=
st
.
method
();
}
#endif
// the format of the stacktrace will be:
// - 1 or more fillInStackTrace frames for the exception class (skipped)
// - 0 or more <init> methods for the exception class (skipped)
// - rest of the stack
if
(
!
skip_fillInStackTrace_check
)
{
// check "fillInStackTrace" only once, so we negate the flag
// after the first time check.
skip_fillInStackTrace_check
=
true
;
if
(
method
->
name
()
==
vmSymbols
::
fillInStackTrace_name
())
{
if
((
method
->
name
()
==
vmSymbols
::
fillInStackTrace_name
()
||
method
->
name
()
==
vmSymbols
::
fillInStackTrace0_name
())
&&
throwable
->
is_a
(
method
->
method_holder
()))
{
continue
;
}
else
{
skip_fillInStackTrace_check
=
true
;
// gone past them all
}
}
// skip <init> methods of the exceptions klass. If there is <init> methods
// that belongs to a superclass of the exception we are going to skipping
// them in stack trace. This is simlar to classic VM.
if
(
!
skip_throwableInit_check
)
{
assert
(
skip_fillInStackTrace_check
,
"logic error in backtrace filtering"
);
// skip <init> methods of the exception class and superclasses
// This is simlar to classic VM.
if
(
method
->
name
()
==
vmSymbols
::
object_initializer_name
()
&&
throwable
->
is_a
(
method
->
method_holder
()))
{
continue
;
}
else
{
//
if no "Throwable.init()" method found, we stop checking it next time.
//
there are none or we've seen them all - either way stop checking
skip_throwableInit_check
=
true
;
}
}
...
...
src/share/vm/classfile/stackMapFrame.cpp
浏览文件 @
9e148566
...
...
@@ -208,8 +208,10 @@ bool StackMapFrame::has_flag_match_exception(
return
true
;
}
bool
StackMapFrame
::
is_assignable_to
(
const
StackMapFrame
*
target
,
TRAPS
)
const
{
if
(
_max_locals
!=
target
->
max_locals
()
||
_stack_size
!=
target
->
stack_size
())
{
bool
StackMapFrame
::
is_assignable_to
(
const
StackMapFrame
*
target
,
bool
is_exception_handler
,
TRAPS
)
const
{
if
(
_max_locals
!=
target
->
max_locals
()
||
_stack_size
!=
target
->
stack_size
())
{
return
false
;
}
// Only need to compare type elements up to target->locals() or target->stack().
...
...
@@ -222,7 +224,7 @@ bool StackMapFrame::is_assignable_to(const StackMapFrame* target, TRAPS) const {
bool
match_flags
=
(
_flags
|
target
->
flags
())
==
target
->
flags
();
return
match_locals
&&
match_stack
&&
(
match_flags
||
has_flag_match_exception
(
target
));
(
match_flags
||
(
is_exception_handler
&&
has_flag_match_exception
(
target
)
));
}
VerificationType
StackMapFrame
::
pop_stack_ex
(
VerificationType
type
,
TRAPS
)
{
...
...
src/share/vm/classfile/stackMapFrame.hpp
浏览文件 @
9e148566
...
...
@@ -134,7 +134,8 @@ class StackMapFrame : public ResourceObj {
void
copy_stack
(
const
StackMapFrame
*
src
);
// Return true if this stack map frame is assignable to target.
bool
is_assignable_to
(
const
StackMapFrame
*
target
,
TRAPS
)
const
;
bool
is_assignable_to
(
const
StackMapFrame
*
target
,
bool
is_exception_handler
,
TRAPS
)
const
;
// Push type into stack type array.
inline
void
push_stack
(
VerificationType
type
,
TRAPS
)
{
...
...
src/share/vm/classfile/stackMapTable.cpp
浏览文件 @
9e148566
...
...
@@ -98,10 +98,13 @@ bool StackMapTable::match_stackmap(
bool
result
=
true
;
StackMapFrame
*
stackmap_frame
=
_frame_array
[
frame_index
];
if
(
match
)
{
// when checking handler target, match == true && update == false
bool
is_exception_handler
=
!
update
;
// Has direct control flow from last instruction, need to match the two
// frames.
result
=
frame
->
is_assignable_to
(
stackmap_frame
,
CHECK_VERIFY_
(
frame
->
verifier
(),
false
));
stackmap_frame
,
is_exception_handler
,
CHECK_VERIFY_
(
frame
->
verifier
(),
false
));
}
if
(
update
)
{
// Use the frame in stackmap table as current frame
...
...
src/share/vm/classfile/vmSymbols.hpp
浏览文件 @
9e148566
...
...
@@ -301,6 +301,7 @@
template(dispatch_name, "dispatch") \
template(getSystemClassLoader_name, "getSystemClassLoader") \
template(fillInStackTrace_name, "fillInStackTrace") \
template(fillInStackTrace0_name, "fillInStackTrace0") \
template(getCause_name, "getCause") \
template(initCause_name, "initCause") \
template(setProperty_name, "setProperty") \
...
...
src/share/vm/runtime/arguments.cpp
浏览文件 @
9e148566
...
...
@@ -59,7 +59,8 @@
#include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
#endif
#define DEFAULT_VENDOR_URL_BUG "http://java.sun.com/webapps/bugreport/crash.jsp"
// Note: This is a special bug reporting site for the JVM
#define DEFAULT_VENDOR_URL_BUG "http://bugreport.sun.com/bugreport/crash.jsp"
#define DEFAULT_JAVA_LAUNCHER "generic"
char
**
Arguments
::
_jvm_flags_array
=
NULL
;
...
...
src/share/vm/runtime/os.cpp
浏览文件 @
9e148566
...
...
@@ -1291,3 +1291,41 @@ bool os::is_server_class_machine() {
}
return
result
;
}
// Read file line by line, if line is longer than bsize,
// skip rest of line.
int
os
::
get_line_chars
(
int
fd
,
char
*
buf
,
const
size_t
bsize
){
size_t
sz
,
i
=
0
;
// read until EOF, EOL or buf is full
while
((
sz
=
(
int
)
read
(
fd
,
&
buf
[
i
],
1
))
==
1
&&
i
<
(
bsize
-
1
)
&&
buf
[
i
]
!=
'\n'
)
{
++
i
;
}
if
(
buf
[
i
]
==
'\n'
)
{
// EOL reached so ignore EOL character and return
buf
[
i
]
=
0
;
return
(
int
)
i
;
}
buf
[
i
+
1
]
=
0
;
if
(
sz
!=
1
)
{
// EOF reached. if we read chars before EOF return them and
// return EOF on next call otherwise return EOF
return
(
i
==
0
)
?
-
1
:
(
int
)
i
;
}
// line is longer than size of buf, skip to EOL
int
ch
;
while
(
read
(
fd
,
&
ch
,
1
)
==
1
&&
ch
!=
'\n'
)
{
// Do nothing
}
// return initial part of line that fits in buf.
// If we reached EOF, it will be returned on next call.
return
(
int
)
i
;
}
src/share/vm/runtime/os.hpp
浏览文件 @
9e148566
...
...
@@ -658,6 +658,10 @@ class os: AllStatic {
// Hook for os specific jvm options that we don't want to abort on seeing
static
bool
obsolete_option
(
const
JavaVMOption
*
option
);
// Read file line by line. If line is longer than bsize,
// rest of line is skipped. Returns number of bytes read or -1 on EOF
static
int
get_line_chars
(
int
fd
,
char
*
buf
,
const
size_t
bsize
);
// Platform dependent stuff
#ifdef TARGET_OS_FAMILY_linux
# include "os_linux.hpp"
...
...
test/compiler/6795161/Test.java
浏览文件 @
9e148566
/*
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2009,
2011,
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
...
...
@@ -26,7 +26,7 @@
* @test
* @bug 6795161
* @summary Escape analysis leads to data corruption
* @run main/othervm -server -Xcomp -XX:CompileOnly=Test -XX:+DoEscapeAnalysis Test
* @run main/othervm -server
-XX:+IgnoreUnrecognizedVMOptions
-Xcomp -XX:CompileOnly=Test -XX:+DoEscapeAnalysis Test
*/
class
Test_Class_1
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录