Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
4f9f4521
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看板
提交
4f9f4521
编写于
1月 08, 2013
作者:
Z
zgu
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
bac3f1fa
694ed223
变更
153
展开全部
显示空白变更内容
内联
并排
Showing
153 changed file
with
2628 addition
and
1832 deletion
+2628
-1832
.hgtags
.hgtags
+4
-0
agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java
...t/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java
+14
-0
agent/src/share/classes/sun/jvm/hotspot/oops/Method.java
agent/src/share/classes/sun/jvm/hotspot/oops/Method.java
+2
-8
make/bsd/Makefile
make/bsd/Makefile
+5
-5
make/bsd/makefiles/buildtree.make
make/bsd/makefiles/buildtree.make
+0
-5
make/bsd/makefiles/debug.make
make/bsd/makefiles/debug.make
+1
-2
make/bsd/makefiles/dtrace.make
make/bsd/makefiles/dtrace.make
+2
-10
make/bsd/makefiles/fastdebug.make
make/bsd/makefiles/fastdebug.make
+1
-2
make/bsd/makefiles/gcc.make
make/bsd/makefiles/gcc.make
+2
-2
make/bsd/makefiles/jsig.make
make/bsd/makefiles/jsig.make
+2
-6
make/bsd/makefiles/jvmg.make
make/bsd/makefiles/jvmg.make
+0
-1
make/bsd/makefiles/mapfile-vers-debug
make/bsd/makefiles/mapfile-vers-debug
+2
-1
make/bsd/makefiles/mapfile-vers-product
make/bsd/makefiles/mapfile-vers-product
+1
-0
make/bsd/makefiles/optimized.make
make/bsd/makefiles/optimized.make
+1
-2
make/bsd/makefiles/product.make
make/bsd/makefiles/product.make
+0
-1
make/bsd/makefiles/saproc.make
make/bsd/makefiles/saproc.make
+1
-5
make/bsd/makefiles/vm.make
make/bsd/makefiles/vm.make
+0
-3
make/hotspot_version
make/hotspot_version
+1
-1
make/linux/Makefile
make/linux/Makefile
+5
-5
make/linux/makefiles/buildtree.make
make/linux/makefiles/buildtree.make
+0
-5
make/linux/makefiles/debug.make
make/linux/makefiles/debug.make
+1
-2
make/linux/makefiles/fastdebug.make
make/linux/makefiles/fastdebug.make
+1
-2
make/linux/makefiles/gcc.make
make/linux/makefiles/gcc.make
+2
-2
make/linux/makefiles/jsig.make
make/linux/makefiles/jsig.make
+3
-11
make/linux/makefiles/jvmg.make
make/linux/makefiles/jvmg.make
+0
-1
make/linux/makefiles/mapfile-vers-debug
make/linux/makefiles/mapfile-vers-debug
+1
-0
make/linux/makefiles/mapfile-vers-product
make/linux/makefiles/mapfile-vers-product
+1
-0
make/linux/makefiles/optimized.make
make/linux/makefiles/optimized.make
+1
-2
make/linux/makefiles/product.make
make/linux/makefiles/product.make
+0
-1
make/linux/makefiles/saproc.make
make/linux/makefiles/saproc.make
+3
-11
make/linux/makefiles/vm.make
make/linux/makefiles/vm.make
+2
-8
make/solaris/Makefile
make/solaris/Makefile
+5
-5
make/solaris/makefiles/buildtree.make
make/solaris/makefiles/buildtree.make
+0
-5
make/solaris/makefiles/debug.make
make/solaris/makefiles/debug.make
+1
-2
make/solaris/makefiles/dtrace.make
make/solaris/makefiles/dtrace.make
+8
-32
make/solaris/makefiles/fastdebug.make
make/solaris/makefiles/fastdebug.make
+0
-1
make/solaris/makefiles/gcc.make
make/solaris/makefiles/gcc.make
+2
-2
make/solaris/makefiles/jsig.make
make/solaris/makefiles/jsig.make
+3
-11
make/solaris/makefiles/jvmg.make
make/solaris/makefiles/jvmg.make
+0
-1
make/solaris/makefiles/mapfile-vers
make/solaris/makefiles/mapfile-vers
+1
-0
make/solaris/makefiles/optimized.make
make/solaris/makefiles/optimized.make
+0
-1
make/solaris/makefiles/product.make
make/solaris/makefiles/product.make
+0
-1
make/solaris/makefiles/saproc.make
make/solaris/makefiles/saproc.make
+3
-11
make/solaris/makefiles/vm.make
make/solaris/makefiles/vm.make
+2
-9
make/windows/build.make
make/windows/build.make
+2
-7
make/windows/projectfiles/compiler2/ADLCompiler.dsp
make/windows/projectfiles/compiler2/ADLCompiler.dsp
+2
-2
make/windows/projectfiles/tiered/ADLCompiler.dsp
make/windows/projectfiles/tiered/ADLCompiler.dsp
+2
-2
src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
+5
-5
src/cpu/sparc/vm/cppInterpreter_sparc.cpp
src/cpu/sparc/vm/cppInterpreter_sparc.cpp
+21
-10
src/cpu/sparc/vm/macroAssembler_sparc.cpp
src/cpu/sparc/vm/macroAssembler_sparc.cpp
+0
-28
src/cpu/sparc/vm/macroAssembler_sparc.hpp
src/cpu/sparc/vm/macroAssembler_sparc.hpp
+0
-4
src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
+0
-8
src/cpu/sparc/vm/methodHandles_sparc.cpp
src/cpu/sparc/vm/methodHandles_sparc.cpp
+4
-2
src/cpu/sparc/vm/sparc.ad
src/cpu/sparc/vm/sparc.ad
+8
-6
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
+18
-7
src/cpu/sparc/vm/templateTable_sparc.cpp
src/cpu/sparc/vm/templateTable_sparc.cpp
+2
-1
src/cpu/x86/vm/assembler_x86.cpp
src/cpu/x86/vm/assembler_x86.cpp
+727
-721
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
+7
-7
src/cpu/x86/vm/cppInterpreter_x86.cpp
src/cpu/x86/vm/cppInterpreter_x86.cpp
+18
-9
src/cpu/x86/vm/macroAssembler_x86.cpp
src/cpu/x86/vm/macroAssembler_x86.cpp
+12
-11
src/cpu/x86/vm/macroAssembler_x86.hpp
src/cpu/x86/vm/macroAssembler_x86.hpp
+0
-19
src/cpu/x86/vm/methodHandles_x86.cpp
src/cpu/x86/vm/methodHandles_x86.cpp
+4
-2
src/cpu/x86/vm/stubGenerator_x86_32.cpp
src/cpu/x86/vm/stubGenerator_x86_32.cpp
+130
-78
src/cpu/x86/vm/stubGenerator_x86_64.cpp
src/cpu/x86/vm/stubGenerator_x86_64.cpp
+154
-106
src/cpu/x86/vm/templateInterpreter_x86_32.cpp
src/cpu/x86/vm/templateInterpreter_x86_32.cpp
+12
-9
src/cpu/x86/vm/templateInterpreter_x86_64.cpp
src/cpu/x86/vm/templateInterpreter_x86_64.cpp
+15
-12
src/cpu/x86/vm/vm_version_x86.cpp
src/cpu/x86/vm/vm_version_x86.cpp
+2
-2
src/cpu/zero/vm/assembler_zero.cpp
src/cpu/zero/vm/assembler_zero.cpp
+2
-9
src/cpu/zero/vm/assembler_zero.hpp
src/cpu/zero/vm/assembler_zero.hpp
+0
-3
src/os/bsd/vm/os_bsd.cpp
src/os/bsd/vm/os_bsd.cpp
+11
-14
src/os/linux/vm/os_linux.cpp
src/os/linux/vm/os_linux.cpp
+11
-14
src/os/posix/vm/os_posix.cpp
src/os/posix/vm/os_posix.cpp
+41
-0
src/os/solaris/vm/os_solaris.cpp
src/os/solaris/vm/os_solaris.cpp
+11
-14
src/os/windows/vm/os_windows.cpp
src/os/windows/vm/os_windows.cpp
+32
-2
src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp
src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp
+2
-2
src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp
src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp
+1
-1
src/share/tools/ProjectCreator/ProjectCreator.java
src/share/tools/ProjectCreator/ProjectCreator.java
+1
-1
src/share/vm/asm/assembler.cpp
src/share/vm/asm/assembler.cpp
+0
-56
src/share/vm/asm/assembler.hpp
src/share/vm/asm/assembler.hpp
+9
-25
src/share/vm/asm/codeBuffer.cpp
src/share/vm/asm/codeBuffer.cpp
+2
-14
src/share/vm/c1/c1_GraphBuilder.cpp
src/share/vm/c1/c1_GraphBuilder.cpp
+5
-0
src/share/vm/c1/c1_LIRGenerator.cpp
src/share/vm/c1/c1_LIRGenerator.cpp
+10
-0
src/share/vm/ci/ciField.cpp
src/share/vm/ci/ciField.cpp
+3
-1
src/share/vm/classfile/classFileParser.cpp
src/share/vm/classfile/classFileParser.cpp
+121
-4
src/share/vm/classfile/classFileParser.hpp
src/share/vm/classfile/classFileParser.hpp
+8
-0
src/share/vm/classfile/classLoaderData.cpp
src/share/vm/classfile/classLoaderData.cpp
+13
-19
src/share/vm/classfile/classLoaderData.hpp
src/share/vm/classfile/classLoaderData.hpp
+4
-3
src/share/vm/classfile/javaClasses.cpp
src/share/vm/classfile/javaClasses.cpp
+59
-3
src/share/vm/classfile/javaClasses.hpp
src/share/vm/classfile/javaClasses.hpp
+19
-4
src/share/vm/classfile/symbolTable.cpp
src/share/vm/classfile/symbolTable.cpp
+2
-2
src/share/vm/classfile/vmSymbols.hpp
src/share/vm/classfile/vmSymbols.hpp
+20
-4
src/share/vm/compiler/compileBroker.cpp
src/share/vm/compiler/compileBroker.cpp
+2
-7
src/share/vm/compiler/compilerOracle.cpp
src/share/vm/compiler/compilerOracle.cpp
+1
-0
src/share/vm/gc_implementation/g1/concurrentMark.cpp
src/share/vm/gc_implementation/g1/concurrentMark.cpp
+212
-88
src/share/vm/gc_implementation/g1/concurrentMark.hpp
src/share/vm/gc_implementation/g1/concurrentMark.hpp
+38
-13
src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+6
-2
src/share/vm/gc_implementation/parallelScavenge/adjoiningVirtualSpaces.cpp
...mplementation/parallelScavenge/adjoiningVirtualSpaces.cpp
+1
-0
src/share/vm/gc_implementation/shared/gcStats.cpp
src/share/vm/gc_implementation/shared/gcStats.cpp
+1
-0
src/share/vm/interpreter/rewriter.cpp
src/share/vm/interpreter/rewriter.cpp
+13
-46
src/share/vm/interpreter/rewriter.hpp
src/share/vm/interpreter/rewriter.hpp
+0
-8
src/share/vm/memory/allocation.hpp
src/share/vm/memory/allocation.hpp
+2
-2
src/share/vm/memory/filemap.cpp
src/share/vm/memory/filemap.cpp
+11
-3
src/share/vm/memory/metaspace.cpp
src/share/vm/memory/metaspace.cpp
+0
-18
src/share/vm/memory/metaspace.hpp
src/share/vm/memory/metaspace.hpp
+12
-3
src/share/vm/memory/metaspaceShared.cpp
src/share/vm/memory/metaspaceShared.cpp
+9
-1
src/share/vm/oops/annotations.cpp
src/share/vm/oops/annotations.cpp
+3
-0
src/share/vm/oops/annotations.hpp
src/share/vm/oops/annotations.hpp
+13
-4
src/share/vm/oops/constMethod.hpp
src/share/vm/oops/constMethod.hpp
+16
-1
src/share/vm/oops/instanceKlass.cpp
src/share/vm/oops/instanceKlass.cpp
+30
-5
src/share/vm/oops/instanceKlass.hpp
src/share/vm/oops/instanceKlass.hpp
+11
-1
src/share/vm/oops/klass.hpp
src/share/vm/oops/klass.hpp
+2
-0
src/share/vm/oops/method.cpp
src/share/vm/oops/method.cpp
+5
-1
src/share/vm/oops/method.hpp
src/share/vm/oops/method.hpp
+13
-12
src/share/vm/opto/addnode.cpp
src/share/vm/opto/addnode.cpp
+10
-0
src/share/vm/opto/bytecodeInfo.cpp
src/share/vm/opto/bytecodeInfo.cpp
+1
-1
src/share/vm/opto/callGenerator.cpp
src/share/vm/opto/callGenerator.cpp
+9
-3
src/share/vm/opto/callGenerator.hpp
src/share/vm/opto/callGenerator.hpp
+2
-2
src/share/vm/opto/callnode.cpp
src/share/vm/opto/callnode.cpp
+1
-1
src/share/vm/opto/cfgnode.cpp
src/share/vm/opto/cfgnode.cpp
+4
-0
src/share/vm/opto/compile.cpp
src/share/vm/opto/compile.cpp
+18
-2
src/share/vm/opto/compile.hpp
src/share/vm/opto/compile.hpp
+60
-2
src/share/vm/opto/doCall.cpp
src/share/vm/opto/doCall.cpp
+12
-7
src/share/vm/opto/graphKit.cpp
src/share/vm/opto/graphKit.cpp
+15
-5
src/share/vm/opto/library_call.cpp
src/share/vm/opto/library_call.cpp
+64
-30
src/share/vm/opto/node.cpp
src/share/vm/opto/node.cpp
+3
-2
src/share/vm/opto/parse3.cpp
src/share/vm/opto/parse3.cpp
+1
-0
src/share/vm/opto/runtime.cpp
src/share/vm/opto/runtime.cpp
+16
-11
src/share/vm/opto/runtime.hpp
src/share/vm/opto/runtime.hpp
+1
-0
src/share/vm/opto/stringopts.cpp
src/share/vm/opto/stringopts.cpp
+74
-61
src/share/vm/prims/jvm.cpp
src/share/vm/prims/jvm.cpp
+17
-0
src/share/vm/prims/jvm.h
src/share/vm/prims/jvm.h
+4
-0
src/share/vm/prims/jvmtiRedefineClasses.cpp
src/share/vm/prims/jvmtiRedefineClasses.cpp
+15
-2
src/share/vm/prims/methodHandles.cpp
src/share/vm/prims/methodHandles.cpp
+2
-2
src/share/vm/prims/unsafe.cpp
src/share/vm/prims/unsafe.cpp
+18
-0
src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
+15
-8
src/share/vm/runtime/fieldDescriptor.cpp
src/share/vm/runtime/fieldDescriptor.cpp
+11
-0
src/share/vm/runtime/fieldDescriptor.hpp
src/share/vm/runtime/fieldDescriptor.hpp
+1
-0
src/share/vm/runtime/globals.hpp
src/share/vm/runtime/globals.hpp
+3
-0
src/share/vm/runtime/handles.inline.hpp
src/share/vm/runtime/handles.inline.hpp
+4
-0
src/share/vm/runtime/os.hpp
src/share/vm/runtime/os.hpp
+1
-0
src/share/vm/runtime/reflection.cpp
src/share/vm/runtime/reflection.cpp
+8
-0
src/share/vm/runtime/thread.cpp
src/share/vm/runtime/thread.cpp
+5
-4
src/share/vm/runtime/virtualspace.cpp
src/share/vm/runtime/virtualspace.cpp
+2
-13
src/share/vm/runtime/vmStructs.cpp
src/share/vm/runtime/vmStructs.cpp
+2
-2
src/share/vm/services/memBaseline.hpp
src/share/vm/services/memBaseline.hpp
+1
-1
src/share/vm/services/nmtDCmd.cpp
src/share/vm/services/nmtDCmd.cpp
+14
-11
src/share/vm/utilities/workgroup.hpp
src/share/vm/utilities/workgroup.hpp
+1
-1
src/share/vm/utilities/yieldingWorkgroup.hpp
src/share/vm/utilities/yieldingWorkgroup.hpp
+1
-1
test/compiler/7184394/TestAESBase.java
test/compiler/7184394/TestAESBase.java
+9
-6
test/compiler/7184394/TestAESMain.java
test/compiler/7184394/TestAESMain.java
+2
-1
test/compiler/8004741/Test8004741.java
test/compiler/8004741/Test8004741.java
+94
-0
test/compiler/8005033/Test8005033.java
test/compiler/8005033/Test8005033.java
+50
-0
test/sanity/ExecuteInternalVMTests.java
test/sanity/ExecuteInternalVMTests.java
+40
-0
未找到文件。
.hgtags
浏览文件 @
4f9f4521
...
@@ -299,3 +299,7 @@ cfc5309f03b7bd6c1567618b63cf1fc74c0f2a8f hs25-b10
...
@@ -299,3 +299,7 @@ cfc5309f03b7bd6c1567618b63cf1fc74c0f2a8f hs25-b10
b61d9c88b759d1594b8af1655598e8fa00393672 hs25-b11
b61d9c88b759d1594b8af1655598e8fa00393672 hs25-b11
25bdce771bb3a7ae9825261a284d292cda700122 jdk8-b67
25bdce771bb3a7ae9825261a284d292cda700122 jdk8-b67
a35a72dd2e1255239d31f796f9f693e49b36bc9f hs25-b12
a35a72dd2e1255239d31f796f9f693e49b36bc9f hs25-b12
121aa71316af6cd877bf455e775fa3fdbcdd4b65 jdk8-b68
b6c9c0109a608eedbb6b868d260952990e3c91fe hs25-b13
cb8a4e04bc8c104de8a2f67463c7e31232bf8d68 jdk8-b69
990bbd393c239d95310ccc38094e57923bbf1d4a hs25-b14
agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java
浏览文件 @
4f9f4521
...
@@ -69,6 +69,8 @@ public class ConstMethod extends VMObject {
...
@@ -69,6 +69,8 @@ public class ConstMethod extends VMObject {
signatureIndex
=
new
CIntField
(
type
.
getCIntegerField
(
"_signature_index"
),
0
);
signatureIndex
=
new
CIntField
(
type
.
getCIntegerField
(
"_signature_index"
),
0
);
idnum
=
new
CIntField
(
type
.
getCIntegerField
(
"_method_idnum"
),
0
);
idnum
=
new
CIntField
(
type
.
getCIntegerField
(
"_method_idnum"
),
0
);
maxStack
=
new
CIntField
(
type
.
getCIntegerField
(
"_max_stack"
),
0
);
maxStack
=
new
CIntField
(
type
.
getCIntegerField
(
"_max_stack"
),
0
);
maxLocals
=
new
CIntField
(
type
.
getCIntegerField
(
"_max_locals"
),
0
);
sizeOfParameters
=
new
CIntField
(
type
.
getCIntegerField
(
"_size_of_parameters"
),
0
);
// start of byte code
// start of byte code
bytecodeOffset
=
type
.
getSize
();
bytecodeOffset
=
type
.
getSize
();
...
@@ -96,6 +98,8 @@ public class ConstMethod extends VMObject {
...
@@ -96,6 +98,8 @@ public class ConstMethod extends VMObject {
private
static
CIntField
signatureIndex
;
private
static
CIntField
signatureIndex
;
private
static
CIntField
idnum
;
private
static
CIntField
idnum
;
private
static
CIntField
maxStack
;
private
static
CIntField
maxStack
;
private
static
CIntField
maxLocals
;
private
static
CIntField
sizeOfParameters
;
// start of bytecode
// start of bytecode
private
static
long
bytecodeOffset
;
private
static
long
bytecodeOffset
;
...
@@ -151,6 +155,14 @@ public class ConstMethod extends VMObject {
...
@@ -151,6 +155,14 @@ public class ConstMethod extends VMObject {
return
maxStack
.
getValue
(
this
);
return
maxStack
.
getValue
(
this
);
}
}
public
long
getMaxLocals
()
{
return
maxLocals
.
getValue
(
this
);
}
public
long
getSizeOfParameters
()
{
return
sizeOfParameters
.
getValue
(
this
);
}
public
Symbol
getName
()
{
public
Symbol
getName
()
{
return
getMethod
().
getName
();
return
getMethod
().
getName
();
}
}
...
@@ -247,6 +259,8 @@ public class ConstMethod extends VMObject {
...
@@ -247,6 +259,8 @@ public class ConstMethod extends VMObject {
visitor
.
doCInt
(
signatureIndex
,
true
);
visitor
.
doCInt
(
signatureIndex
,
true
);
visitor
.
doCInt
(
codeSize
,
true
);
visitor
.
doCInt
(
codeSize
,
true
);
visitor
.
doCInt
(
maxStack
,
true
);
visitor
.
doCInt
(
maxStack
,
true
);
visitor
.
doCInt
(
maxLocals
,
true
);
visitor
.
doCInt
(
sizeOfParameters
,
true
);
}
}
// Accessors
// Accessors
...
...
agent/src/share/classes/sun/jvm/hotspot/oops/Method.java
浏览文件 @
4f9f4521
...
@@ -50,8 +50,6 @@ public class Method extends Metadata {
...
@@ -50,8 +50,6 @@ public class Method extends Metadata {
constMethod
=
type
.
getAddressField
(
"_constMethod"
);
constMethod
=
type
.
getAddressField
(
"_constMethod"
);
methodData
=
type
.
getAddressField
(
"_method_data"
);
methodData
=
type
.
getAddressField
(
"_method_data"
);
methodSize
=
new
CIntField
(
type
.
getCIntegerField
(
"_method_size"
),
0
);
methodSize
=
new
CIntField
(
type
.
getCIntegerField
(
"_method_size"
),
0
);
maxLocals
=
new
CIntField
(
type
.
getCIntegerField
(
"_max_locals"
),
0
);
sizeOfParameters
=
new
CIntField
(
type
.
getCIntegerField
(
"_size_of_parameters"
),
0
);
accessFlags
=
new
CIntField
(
type
.
getCIntegerField
(
"_access_flags"
),
0
);
accessFlags
=
new
CIntField
(
type
.
getCIntegerField
(
"_access_flags"
),
0
);
code
=
type
.
getAddressField
(
"_code"
);
code
=
type
.
getAddressField
(
"_code"
);
vtableIndex
=
new
CIntField
(
type
.
getCIntegerField
(
"_vtable_index"
),
0
);
vtableIndex
=
new
CIntField
(
type
.
getCIntegerField
(
"_vtable_index"
),
0
);
...
@@ -83,8 +81,6 @@ public class Method extends Metadata {
...
@@ -83,8 +81,6 @@ public class Method extends Metadata {
private
static
AddressField
constMethod
;
private
static
AddressField
constMethod
;
private
static
AddressField
methodData
;
private
static
AddressField
methodData
;
private
static
CIntField
methodSize
;
private
static
CIntField
methodSize
;
private
static
CIntField
maxLocals
;
private
static
CIntField
sizeOfParameters
;
private
static
CIntField
accessFlags
;
private
static
CIntField
accessFlags
;
private
static
CIntField
vtableIndex
;
private
static
CIntField
vtableIndex
;
private
static
CIntField
invocationCounter
;
private
static
CIntField
invocationCounter
;
...
@@ -134,8 +130,8 @@ public class Method extends Metadata {
...
@@ -134,8 +130,8 @@ public class Method extends Metadata {
/** WARNING: this is in words, not useful in this system; use getObjectSize() instead */
/** WARNING: this is in words, not useful in this system; use getObjectSize() instead */
public
long
getMethodSize
()
{
return
methodSize
.
getValue
(
this
);
}
public
long
getMethodSize
()
{
return
methodSize
.
getValue
(
this
);
}
public
long
getMaxStack
()
{
return
getConstMethod
().
getMaxStack
();
}
public
long
getMaxStack
()
{
return
getConstMethod
().
getMaxStack
();
}
public
long
getMaxLocals
()
{
return
maxLocals
.
getValue
(
this
);
}
public
long
getMaxLocals
()
{
return
getConstMethod
().
getMaxLocals
(
);
}
public
long
getSizeOfParameters
()
{
return
sizeOfParameters
.
getValue
(
this
);
}
public
long
getSizeOfParameters
()
{
return
getConstMethod
().
getSizeOfParameters
(
);
}
public
long
getNameIndex
()
{
return
getConstMethod
().
getNameIndex
();
}
public
long
getNameIndex
()
{
return
getConstMethod
().
getNameIndex
();
}
public
long
getSignatureIndex
()
{
return
getConstMethod
().
getSignatureIndex
();
}
public
long
getSignatureIndex
()
{
return
getConstMethod
().
getSignatureIndex
();
}
public
long
getGenericSignatureIndex
()
{
return
getConstMethod
().
getGenericSignatureIndex
();
}
public
long
getGenericSignatureIndex
()
{
return
getConstMethod
().
getGenericSignatureIndex
();
}
...
@@ -282,8 +278,6 @@ public class Method extends Metadata {
...
@@ -282,8 +278,6 @@ public class Method extends Metadata {
public
void
iterateFields
(
MetadataVisitor
visitor
)
{
public
void
iterateFields
(
MetadataVisitor
visitor
)
{
visitor
.
doCInt
(
methodSize
,
true
);
visitor
.
doCInt
(
methodSize
,
true
);
visitor
.
doCInt
(
maxLocals
,
true
);
visitor
.
doCInt
(
sizeOfParameters
,
true
);
visitor
.
doCInt
(
accessFlags
,
true
);
visitor
.
doCInt
(
accessFlags
,
true
);
}
}
...
...
make/bsd/Makefile
浏览文件 @
4f9f4521
...
@@ -47,10 +47,10 @@
...
@@ -47,10 +47,10 @@
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# JDI binding on SA produces two binaries:
# JDI binding on SA produces two binaries:
# 1. sa-jdi.jar - This is buil
d before building libjvm[_g]
.so
# 1. sa-jdi.jar - This is buil
t before building libjvm
.so
# Please refer to ./makefiles/sa.make
# Please refer to ./makefiles/sa.make
# 2. libsa
[_g].so
- Native library for SA - This is built after
# 2. libsa
.so
- Native library for SA - This is built after
# libjsig
[_g]
.so (signal interposition library)
# libjsig.so (signal interposition library)
# Please refer to ./makefiles/vm.make
# Please refer to ./makefiles/vm.make
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
...
@@ -181,9 +181,9 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
...
@@ -181,9 +181,9 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
#
#
# What you get with each target:
# What you get with each target:
#
#
# debug* - "thin" libjvm
_g - debug info linked into the gamma_g
launcher
# debug* - "thin" libjvm
- debug info linked into the gamma
launcher
# fastdebug* - optimized compile, but with asserts enabled
# fastdebug* - optimized compile, but with asserts enabled
# jvmg* - "fat" libjvm
_g - debug info linked into libjvm_g
.so
# jvmg* - "fat" libjvm
- debug info linked into libjvm
.so
# optimized* - optimized compile, no asserts
# optimized* - optimized compile, no asserts
# profiled* - gprof
# profiled* - gprof
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
...
...
make/bsd/makefiles/buildtree.make
浏览文件 @
4f9f4521
...
@@ -449,12 +449,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
...
@@ -449,12 +449,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
echo
" exit 0"
;
\
echo
" exit 0"
;
\
echo
"fi"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
""
;
\
echo
"# Use gamma_g if it exists"
;
\
echo
""
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"if [ -f gamma_g ]; then "
;
\
echo
" GAMMA_PROG=gamma_g"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
""
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
...
...
make/bsd/makefiles/debug.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1999, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -38,7 +38,6 @@ _JUNK_ := $(shell echo -e >&2 ""\
...
@@ -38,7 +38,6 @@ _JUNK_ := $(shell echo -e >&2 ""\
"Please use 'make jvmg' to build debug JVM.
\n
"
\
"Please use 'make jvmg' to build debug JVM.
\n
"
\
"----------------------------------------------------------------------
\n
"
)
"----------------------------------------------------------------------
\n
"
)
G_SUFFIX
=
_g
VERSION
=
debug
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/bsd/makefiles/dtrace.make
浏览文件 @
4f9f4521
...
@@ -38,12 +38,10 @@ DtraceOutDir = $(GENERATED)/dtracefiles
...
@@ -38,12 +38,10 @@ DtraceOutDir = $(GENERATED)/dtracefiles
# Bsd does not build libjvm_db, does not compile on macosx
# Bsd does not build libjvm_db, does not compile on macosx
# disabled in build: rule in vm.make
# disabled in build: rule in vm.make
JVM_DB
=
libjvm_db
JVM_DB
=
libjvm_db
#LIBJVM_DB = libjvm_db.dylib
LIBJVM_DB
=
libjvm_db.dylib
LIBJVM_DB
=
libjvm
$(G_SUFFIX)
_db.dylib
JVM_DTRACE
=
jvm_dtrace
JVM_DTRACE
=
jvm_dtrace
#LIBJVM_DTRACE = libjvm_dtrace.dylib
LIBJVM_DTRACE
=
libjvm_dtrace.dylib
LIBJVM_DTRACE
=
libjvm
$(G_SUFFIX)
_dtrace.dylib
JVMOFFS
=
JvmOffsets
JVMOFFS
=
JvmOffsets
JVMOFFS.o
=
$(JVMOFFS)
.o
JVMOFFS.o
=
$(JVMOFFS)
.o
...
@@ -80,9 +78,7 @@ ISA = $(subst i386,i486,$(BUILDARCH))
...
@@ -80,9 +78,7 @@ ISA = $(subst i386,i486,$(BUILDARCH))
ifneq
("${ISA}","${BUILDARCH}")
ifneq
("${ISA}","${BUILDARCH}")
XLIBJVM_DB
=
64/
$(LIBJVM_DB)
XLIBJVM_DB
=
64/
$(LIBJVM_DB)
XLIBJVM_DB_G
=
64/
$(LIBJVM_DB_G)
XLIBJVM_DTRACE
=
64/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE
=
64/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE_G
=
64/
$(LIBJVM_DTRACE_G)
XARCH
=
$(
subst
sparcv9,v9,
$(
shell
echo
$(ISA)
))
XARCH
=
$(
subst
sparcv9,v9,
$(
shell
echo
$(ISA)
))
$(XLIBJVM_DB)
:
$(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
$(XLIBJVM_DB)
:
$(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
...
@@ -90,14 +86,12 @@ $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
...
@@ -90,14 +86,12 @@ $(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
$(QUIETLY)
mkdir
-p
64/
;
\
$(QUIETLY)
mkdir
-p
64/
;
\
$(CC)
$(SYMFLAG)
-xarch
=
$(XARCH)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(CC)
$(SYMFLAG)
-xarch
=
$(XARCH)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
#-lc
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
#-lc
# [ -f $(XLIBJVM_DB_G) ] || { ln -s $(LIBJVM_DB) $(XLIBJVM_DB_G); }
$(XLIBJVM_DTRACE)
:
$(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
$(XLIBJVM_DTRACE)
:
$(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
@
echo
Making
$@
@
echo
Making
$@
$(QUIETLY)
mkdir
-p
64/
;
\
$(QUIETLY)
mkdir
-p
64/
;
\
$(CC)
$(SYMFLAG)
-xarch
=
$(XARCH)
-D
$(TYPE)
-I
.
\
$(CC)
$(SYMFLAG)
-xarch
=
$(XARCH)
-D
$(TYPE)
-I
.
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
#-lc -lthread -ldoor
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
#-lc -lthread -ldoor
# [ -f $(XLIBJVM_DTRACE_G) ] || { ln -s $(LIBJVM_DTRACE) $(XLIBJVM_DTRACE_G); }
endif
# ifneq ("${ISA}","${BUILDARCH}")
endif
# ifneq ("${ISA}","${BUILDARCH}")
...
@@ -141,13 +135,11 @@ $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_D
...
@@ -141,13 +135,11 @@ $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_D
@
echo
Making
$@
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-Wall
# -lc
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-Wall
# -lc
# [ -f $(LIBJVM_DB_G) ] || { ln -s $@ $(LIBJVM_DB_G); }
$(LIBJVM_DTRACE)
:
$(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
$(LIBJVM_DTRACE)
:
$(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
@
echo
Making
$@
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
#-lc -lthread -ldoor
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
#-lc -lthread -ldoor
# [ -f $(LIBJVM_DTRACE_G) ] || { ln -s $@ $(LIBJVM_DTRACE_G); }
#$(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
#$(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
# $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
# $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
...
...
make/bsd/makefiles/fastdebug.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1999, 20
08,
Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 20
12
Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -58,7 +58,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
...
@@ -58,7 +58,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
optimized
VERSION
=
optimized
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/bsd/makefiles/gcc.make
浏览文件 @
4f9f4521
...
@@ -284,9 +284,9 @@ endif
...
@@ -284,9 +284,9 @@ endif
# Use the stabs format for debugging information (this is the default
# Use the stabs format for debugging information (this is the default
# on gcc-2.91). It's good enough, has all the information about line
# on gcc-2.91). It's good enough, has all the information about line
# numbers and local variables, and libjvm
_g
.so is only about 16M.
# numbers and local variables, and libjvm.so is only about 16M.
# Change this back to "-g" if you want the most expressive format.
# Change this back to "-g" if you want the most expressive format.
# (warning: that could easily inflate libjvm
_g
.so to 150M!)
# (warning: that could easily inflate libjvm.so to 150M!)
# Note: The Itanium gcc compiler crashes when using -gstabs.
# Note: The Itanium gcc compiler crashes when using -gstabs.
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
...
...
make/bsd/makefiles/jsig.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 2005, 20
09
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -24,16 +24,13 @@
...
@@ -24,16 +24,13 @@
# Rules to build signal interposition library, used by vm.make
# Rules to build signal interposition library, used by vm.make
# libjsig
[_g]
.so: signal interposition library
# libjsig.so: signal interposition library
JSIG
=
jsig
JSIG
=
jsig
JSIG_G
=
$(JSIG)$(G_SUFFIX)
ifeq
($(OS_VENDOR), Darwin)
ifeq
($(OS_VENDOR), Darwin)
LIBJSIG
=
lib
$(JSIG)
.dylib
LIBJSIG
=
lib
$(JSIG)
.dylib
LIBJSIG_G
=
lib
$(JSIG_G)
.dylib
else
else
LIBJSIG
=
lib
$(JSIG)
.so
LIBJSIG
=
lib
$(JSIG)
.so
LIBJSIG_G
=
lib
$(JSIG_G)
.so
endif
endif
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
...
@@ -58,7 +55,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
...
@@ -58,7 +55,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
@
echo
Making signal interposition lib...
@
echo
Making signal interposition lib...
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
$(QUIETLY)
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
install_jsig
:
$(LIBJSIG)
install_jsig
:
$(LIBJSIG)
@
echo
"Copying
$(LIBJSIG)
to
$(DEST_JSIG)
"
@
echo
"Copying
$(LIBJSIG)
to
$(DEST_JSIG)
"
...
...
make/bsd/makefiles/jvmg.make
浏览文件 @
4f9f4521
...
@@ -37,7 +37,6 @@ CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_
...
@@ -37,7 +37,6 @@ CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
debug
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/bsd/makefiles/mapfile-vers-debug
浏览文件 @
4f9f4521
...
@@ -128,6 +128,7 @@ SUNWprivate_1.1 {
...
@@ -128,6 +128,7 @@ SUNWprivate_1.1 {
JVM_GetClassNameUTF;
JVM_GetClassNameUTF;
JVM_GetClassSignature;
JVM_GetClassSignature;
JVM_GetClassSigners;
JVM_GetClassSigners;
JVM_GetClassTypeAnnotations;
JVM_GetComponentType;
JVM_GetComponentType;
JVM_GetDeclaredClasses;
JVM_GetDeclaredClasses;
JVM_GetDeclaringClass;
JVM_GetDeclaringClass;
...
...
make/bsd/makefiles/mapfile-vers-product
浏览文件 @
4f9f4521
...
@@ -128,6 +128,7 @@ SUNWprivate_1.1 {
...
@@ -128,6 +128,7 @@ SUNWprivate_1.1 {
JVM_GetClassNameUTF;
JVM_GetClassNameUTF;
JVM_GetClassSignature;
JVM_GetClassSignature;
JVM_GetClassSigners;
JVM_GetClassSigners;
JVM_GetClassTypeAnnotations;
JVM_GetComponentType;
JVM_GetComponentType;
JVM_GetDeclaredClasses;
JVM_GetDeclaredClasses;
JVM_GetDeclaringClass;
JVM_GetDeclaringClass;
...
...
make/bsd/makefiles/optimized.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1999, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -40,5 +40,4 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
...
@@ -40,5 +40,4 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
G_SUFFIX
=
VERSION
=
optimized
VERSION
=
optimized
make/bsd/makefiles/product.make
浏览文件 @
4f9f4521
...
@@ -40,7 +40,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
...
@@ -40,7 +40,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-product
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-product
G_SUFFIX
=
SYSDEFS
+=
-DPRODUCT
SYSDEFS
+=
-DPRODUCT
VERSION
=
optimized
VERSION
=
optimized
...
...
make/bsd/makefiles/saproc.make
浏览文件 @
4f9f4521
...
@@ -24,16 +24,13 @@
...
@@ -24,16 +24,13 @@
# Rules to build serviceability agent library, used by vm.make
# Rules to build serviceability agent library, used by vm.make
# libsaproc
[_g]
.so: serviceability agent
# libsaproc.so: serviceability agent
SAPROC
=
saproc
SAPROC
=
saproc
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
ifeq
($(OS_VENDOR), Darwin)
ifeq
($(OS_VENDOR), Darwin)
LIBSAPROC
=
lib
$(SAPROC)
.dylib
LIBSAPROC
=
lib
$(SAPROC)
.dylib
LIBSAPROC_G
=
lib
$(SAPROC_G)
.dylib
else
else
LIBSAPROC
=
lib
$(SAPROC)
.so
LIBSAPROC
=
lib
$(SAPROC)
.so
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
endif
endif
AGENT_DIR
=
$(GAMMADIR)
/agent
AGENT_DIR
=
$(GAMMADIR)
/agent
...
@@ -114,7 +111,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
...
@@ -114,7 +111,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
$(SA_DEBUG_CFLAGS)
\
$(SA_DEBUG_CFLAGS)
\
-o
$@
\
-o
$@
\
$(SALIBS)
$(SALIBS)
$(QUIETLY)
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
install_saproc
:
$(BUILDLIBSAPROC)
install_saproc
:
$(BUILDLIBSAPROC)
$(QUIETLY)
if
[
-e
$(LIBSAPROC)
]
;
then
\
$(QUIETLY)
if
[
-e
$(LIBSAPROC)
]
;
then
\
...
...
make/bsd/makefiles/vm.make
浏览文件 @
4f9f4521
...
@@ -138,11 +138,9 @@ include $(MAKEFILES_DIR)/dtrace.make
...
@@ -138,11 +138,9 @@ include $(MAKEFILES_DIR)/dtrace.make
JVM
=
jvm
JVM
=
jvm
ifeq
($(OS_VENDOR), Darwin)
ifeq
($(OS_VENDOR), Darwin)
LIBJVM
=
lib
$(JVM)
.dylib
LIBJVM
=
lib
$(JVM)
.dylib
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.dylib
CFLAGS
+=
-D_XOPEN_SOURCE
-D_DARWIN_C_SOURCE
CFLAGS
+=
-D_XOPEN_SOURCE
-D_DARWIN_C_SOURCE
else
else
LIBJVM
=
lib
$(JVM)
.so
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
endif
endif
SPECIAL_PATHS
:=
adlc c1 gc_implementation opto shark libadt
SPECIAL_PATHS
:=
adlc c1 gc_implementation opto shark libadt
...
@@ -314,7 +312,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
...
@@ -314,7 +312,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
;
\
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
;
\
$
(
LINK_LIB.CXX/POST_HOOK
)
\
$
(
LINK_LIB.CXX/POST_HOOK
)
\
rm
-f
$@
.1
;
ln
-s
$@
$@
.1
;
\
rm
-f
$@
.1
;
ln
-s
$@
$@
.1
;
\
[
-f
$(LIBJVM_G)
]
||
{
ln
-s
$@
$(LIBJVM_G)
;
ln
-s
$@
.1
$(LIBJVM_G)
.1
;
}
;
\
}
}
DEST_JVM
=
$(JDK_LIBDIR)
/
$(VM_SUBDIR)
/
$(LIBJVM)
DEST_JVM
=
$(JDK_LIBDIR)
/
$(VM_SUBDIR)
/
$(LIBJVM)
...
...
make/hotspot_version
浏览文件 @
4f9f4521
...
@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2012
...
@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2012
HS_MAJOR_VER=25
HS_MAJOR_VER=25
HS_MINOR_VER=0
HS_MINOR_VER=0
HS_BUILD_NUMBER=1
3
HS_BUILD_NUMBER=1
5
JDK_MAJOR_VER=1
JDK_MAJOR_VER=1
JDK_MINOR_VER=8
JDK_MINOR_VER=8
...
...
make/linux/Makefile
浏览文件 @
4f9f4521
...
@@ -47,10 +47,10 @@
...
@@ -47,10 +47,10 @@
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# JDI binding on SA produces two binaries:
# JDI binding on SA produces two binaries:
# 1. sa-jdi.jar - This is buil
d before building libjvm[_g]
.so
# 1. sa-jdi.jar - This is buil
t before building libjvm
.so
# Please refer to ./makefiles/sa.make
# Please refer to ./makefiles/sa.make
# 2. libsa
[_g].so
- Native library for SA - This is built after
# 2. libsa
.so
- Native library for SA - This is built after
# libjsig
[_g]
.so (signal interposition library)
# libjsig.so (signal interposition library)
# Please refer to ./makefiles/vm.make
# Please refer to ./makefiles/vm.make
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
...
@@ -181,9 +181,9 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
...
@@ -181,9 +181,9 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
#
#
# What you get with each target:
# What you get with each target:
#
#
# debug* - "thin" libjvm
_g - debug info linked into the gamma_g
launcher
# debug* - "thin" libjvm
- debug info linked into the gamma
launcher
# fastdebug* - optimized compile, but with asserts enabled
# fastdebug* - optimized compile, but with asserts enabled
# jvmg* - "fat" libjvm
_g - debug info linked into libjvm_g
.so
# jvmg* - "fat" libjvm
- debug info linked into libjvm
.so
# optimized* - optimized compile, no asserts
# optimized* - optimized compile, no asserts
# profiled* - gprof
# profiled* - gprof
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
...
...
make/linux/makefiles/buildtree.make
浏览文件 @
4f9f4521
...
@@ -442,12 +442,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
...
@@ -442,12 +442,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
echo
" exit 0"
;
\
echo
" exit 0"
;
\
echo
"fi"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
""
;
\
echo
"# Use gamma_g if it exists"
;
\
echo
""
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"if [ -f gamma_g ]; then "
;
\
echo
" GAMMA_PROG=gamma_g"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
""
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
...
...
make/linux/makefiles/debug.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1999, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -38,7 +38,6 @@ _JUNK_ := $(shell echo -e >&2 ""\
...
@@ -38,7 +38,6 @@ _JUNK_ := $(shell echo -e >&2 ""\
"Please use 'make jvmg' to build debug JVM.
\n
"
\
"Please use 'make jvmg' to build debug JVM.
\n
"
\
"----------------------------------------------------------------------
\n
"
)
"----------------------------------------------------------------------
\n
"
)
G_SUFFIX
=
_g
VERSION
=
debug
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/linux/makefiles/fastdebug.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1999, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -58,7 +58,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
...
@@ -58,7 +58,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
optimized
VERSION
=
optimized
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/linux/makefiles/gcc.make
浏览文件 @
4f9f4521
...
@@ -229,9 +229,9 @@ ifeq ($(DEBUG_BINARIES), true)
...
@@ -229,9 +229,9 @@ ifeq ($(DEBUG_BINARIES), true)
else
else
# Use the stabs format for debugging information (this is the default
# Use the stabs format for debugging information (this is the default
# on gcc-2.91). It's good enough, has all the information about line
# on gcc-2.91). It's good enough, has all the information about line
# numbers and local variables, and libjvm
_g
.so is only about 16M.
# numbers and local variables, and libjvm.so is only about 16M.
# Change this back to "-g" if you want the most expressive format.
# Change this back to "-g" if you want the most expressive format.
# (warning: that could easily inflate libjvm
_g
.so to 150M!)
# (warning: that could easily inflate libjvm.so to 150M!)
# Note: The Itanium gcc compiler crashes when using -gstabs.
# Note: The Itanium gcc compiler crashes when using -gstabs.
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
...
...
make/linux/makefiles/jsig.make
浏览文件 @
4f9f4521
...
@@ -24,17 +24,12 @@
...
@@ -24,17 +24,12 @@
# Rules to build signal interposition library, used by vm.make
# Rules to build signal interposition library, used by vm.make
# libjsig
[_g]
.so: signal interposition library
# libjsig.so: signal interposition library
JSIG
=
jsig
JSIG
=
jsig
LIBJSIG
=
lib
$(JSIG)
.so
LIBJSIG
=
lib
$(JSIG)
.so
JSIG_G
=
$(JSIG)$(G_SUFFIX)
LIBJSIG_G
=
lib
$(JSIG_G)
.so
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
LIBJSIG_DIZ
=
lib
$(JSIG)
.diz
LIBJSIG_DIZ
=
lib
$(JSIG)
.diz
LIBJSIG_G_DEBUGINFO
=
lib
$(JSIG_G)
.debuginfo
LIBJSIG_G_DIZ
=
lib
$(JSIG_G)
.diz
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
...
@@ -60,7 +55,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
...
@@ -60,7 +55,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
@
echo
Making signal interposition lib...
@
echo
Making signal interposition lib...
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
-ldl
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
-ldl
$(QUIETLY)
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJSIG_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJSIG_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJSIG_DEBUGINFO)
$@
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJSIG_DEBUGINFO)
$@
...
@@ -72,11 +66,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -72,11 +66,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(LIBJSIG_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
[
-f
$(LIBJSIG_G_DIZ)
]
||
{
ln
-s
$(LIBJSIG_DIZ)
$(LIBJSIG_G_DIZ);
}
endif
endif
endif
endif
...
...
make/linux/makefiles/jvmg.make
浏览文件 @
4f9f4521
...
@@ -37,7 +37,6 @@ CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_
...
@@ -37,7 +37,6 @@ CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
debug
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/linux/makefiles/mapfile-vers-debug
浏览文件 @
4f9f4521
...
@@ -124,6 +124,7 @@ SUNWprivate_1.1 {
...
@@ -124,6 +124,7 @@ SUNWprivate_1.1 {
JVM_GetClassNameUTF;
JVM_GetClassNameUTF;
JVM_GetClassSignature;
JVM_GetClassSignature;
JVM_GetClassSigners;
JVM_GetClassSigners;
JVM_GetClassTypeAnnotations;
JVM_GetComponentType;
JVM_GetComponentType;
JVM_GetDeclaredClasses;
JVM_GetDeclaredClasses;
JVM_GetDeclaringClass;
JVM_GetDeclaringClass;
...
...
make/linux/makefiles/mapfile-vers-product
浏览文件 @
4f9f4521
...
@@ -124,6 +124,7 @@ SUNWprivate_1.1 {
...
@@ -124,6 +124,7 @@ SUNWprivate_1.1 {
JVM_GetClassNameUTF;
JVM_GetClassNameUTF;
JVM_GetClassSignature;
JVM_GetClassSignature;
JVM_GetClassSigners;
JVM_GetClassSigners;
JVM_GetClassTypeAnnotations;
JVM_GetComponentType;
JVM_GetComponentType;
JVM_GetDeclaredClasses;
JVM_GetDeclaredClasses;
JVM_GetDeclaringClass;
JVM_GetDeclaringClass;
...
...
make/linux/makefiles/optimized.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1999, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -40,5 +40,4 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
...
@@ -40,5 +40,4 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
G_SUFFIX
=
VERSION
=
optimized
VERSION
=
optimized
make/linux/makefiles/product.make
浏览文件 @
4f9f4521
...
@@ -40,7 +40,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
...
@@ -40,7 +40,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-product
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-product
G_SUFFIX
=
SYSDEFS
+=
-DPRODUCT
SYSDEFS
+=
-DPRODUCT
VERSION
=
optimized
VERSION
=
optimized
...
...
make/linux/makefiles/saproc.make
浏览文件 @
4f9f4521
...
@@ -26,18 +26,13 @@ include $(GAMMADIR)/make/altsrc.make
...
@@ -26,18 +26,13 @@ include $(GAMMADIR)/make/altsrc.make
# Rules to build serviceability agent library, used by vm.make
# Rules to build serviceability agent library, used by vm.make
# libsaproc
[_g]
.so: serviceability agent
# libsaproc.so: serviceability agent
SAPROC
=
saproc
SAPROC
=
saproc
LIBSAPROC
=
lib
$(SAPROC)
.so
LIBSAPROC
=
lib
$(SAPROC)
.so
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_DIZ
=
lib
$(SAPROC)
.diz
LIBSAPROC_DIZ
=
lib
$(SAPROC)
.diz
LIBSAPROC_G_DEBUGINFO
=
lib
$(SAPROC_G)
.debuginfo
LIBSAPROC_G_DIZ
=
lib
$(SAPROC_G)
.diz
AGENT_DIR
=
$(GAMMADIR)
/agent
AGENT_DIR
=
$(GAMMADIR)
/agent
...
@@ -99,7 +94,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
...
@@ -99,7 +94,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
$(SA_DEBUG_CFLAGS)
\
$(SA_DEBUG_CFLAGS)
\
-o
$@
\
-o
$@
\
-lthread_db
-lthread_db
$(QUIETLY)
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBSAPROC_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBSAPROC_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBSAPROC_DEBUGINFO)
$@
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBSAPROC_DEBUGINFO)
$@
...
@@ -111,11 +105,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -111,11 +105,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(LIBSAPROC_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
[
-f
$(LIBSAPROC_G_DIZ)
]
||
{
ln
-s
$(LIBSAPROC_DIZ)
$(LIBSAPROC_G_DIZ);
}
endif
endif
endif
endif
...
...
make/linux/makefiles/vm.make
浏览文件 @
4f9f4521
...
@@ -138,12 +138,9 @@ include $(MAKEFILES_DIR)/dtrace.make
...
@@ -138,12 +138,9 @@ include $(MAKEFILES_DIR)/dtrace.make
JVM
=
jvm
JVM
=
jvm
LIBJVM
=
lib
$(JVM)
.so
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
LIBJVM_DIZ
=
lib
$(JVM)
.diz
LIBJVM_DIZ
=
lib
$(JVM)
.diz
LIBJVM_G_DEBUGINFO
=
lib
$(JVM)$(G_SUFFIX)
.debuginfo
LIBJVM_G_DIZ
=
lib
$(JVM)$(G_SUFFIX)
.diz
SPECIAL_PATHS
:=
adlc c1 gc_implementation opto shark libadt
SPECIAL_PATHS
:=
adlc c1 gc_implementation opto shark libadt
...
@@ -323,7 +320,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
...
@@ -323,7 +320,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
;
\
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
;
\
$
(
LINK_LIB.CXX/POST_HOOK
)
\
$
(
LINK_LIB.CXX/POST_HOOK
)
\
rm
-f
$@
.1
;
ln
-s
$@
$@
.1
;
\
rm
-f
$@
.1
;
ln
-s
$@
$@
.1
;
\
[
-f
$(LIBJVM_G)
]
||
{
ln
-s
$@
$(LIBJVM_G)
;
ln
-s
$@
.1
$(LIBJVM_G)
.1
;
}
;
\
if
[
\"
$(CROSS_COMPILE_ARCH)
\"
=
\"\"
]
;
then
\
if
[
\"
$(CROSS_COMPILE_ARCH)
\"
=
\"\"
]
;
then
\
if
[
-x
/usr/sbin/selinuxenabled
]
;
then
\
if
[
-x
/usr/sbin/selinuxenabled
]
;
then
\
/usr/sbin/selinuxenabled
;
\
/usr/sbin/selinuxenabled
;
\
...
@@ -348,11 +344,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -348,11 +344,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
$(QUIETLY)
[
-f
$(LIBJVM_G_DEBUGINFO)
]
||
ln
-s
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
[
-f
$(LIBJVM_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DIZ)
$(LIBJVM_G_DIZ);
}
endif
endif
endif
endif
...
...
make/solaris/Makefile
浏览文件 @
4f9f4521
...
@@ -38,10 +38,10 @@
...
@@ -38,10 +38,10 @@
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# JDI binding on SA produces two binaries:
# JDI binding on SA produces two binaries:
# 1. sa-jdi.jar - This is buil
d before building libjvm[_g]
.so
# 1. sa-jdi.jar - This is buil
t before building libjvm
.so
# Please refer to ./makefiles/sa.make
# Please refer to ./makefiles/sa.make
# 2. libsaproc
[_g].so
- Native library for SA - This is built after
# 2. libsaproc
.so
- Native library for SA - This is built after
# libjsig
[_g]
.so (signal interposition library)
# libjsig.so (signal interposition library)
# Please refer to ./makefiles/vm.make
# Please refer to ./makefiles/vm.make
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
...
@@ -141,9 +141,9 @@ endif
...
@@ -141,9 +141,9 @@ endif
#
#
# What you get with each target:
# What you get with each target:
#
#
# debug* - "thin" libjvm
_g - debug info linked into the gamma_g
launcher
# debug* - "thin" libjvm
- debug info linked into the gamma
launcher
# fastdebug* - optimized compile, but with asserts enabled
# fastdebug* - optimized compile, but with asserts enabled
# jvmg* - "fat" libjvm
_g - debug info linked into libjvm_g
.so
# jvmg* - "fat" libjvm
- debug info linked into libjvm
.so
# optimized* - optimized compile, no asserts
# optimized* - optimized compile, no asserts
# profiled* - gprof
# profiled* - gprof
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
...
...
make/solaris/makefiles/buildtree.make
浏览文件 @
4f9f4521
...
@@ -436,12 +436,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
...
@@ -436,12 +436,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
echo
" exit 0"
;
\
echo
" exit 0"
;
\
echo
"fi"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
""
;
\
echo
"# Use gamma_g if it exists"
;
\
echo
""
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"if [ -f gamma_g ]; then "
;
\
echo
" GAMMA_PROG=gamma_g"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
""
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
...
...
make/solaris/makefiles/debug.make
浏览文件 @
4f9f4521
#
#
# Copyright (c) 1998, 20
08
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1998, 20
12
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
#
# This code is free software; you can redistribute it and/or modify it
# This code is free software; you can redistribute it and/or modify it
...
@@ -53,7 +53,6 @@ _JUNK_ := $(shell echo >&2 ""\
...
@@ -53,7 +53,6 @@ _JUNK_ := $(shell echo >&2 ""\
"Please use 'gnumake jvmg' to build debug JVM.
\n
"
\
"Please use 'gnumake jvmg' to build debug JVM.
\n
"
\
"-------------------------------------------------------------------------
\n
"
)
"-------------------------------------------------------------------------
\n
"
)
G_SUFFIX
=
_g
VERSION
=
debug
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/solaris/makefiles/dtrace.make
浏览文件 @
4f9f4521
...
@@ -39,21 +39,15 @@ else
...
@@ -39,21 +39,15 @@ else
JVM_DB
=
libjvm_db
JVM_DB
=
libjvm_db
LIBJVM_DB
=
libjvm_db.so
LIBJVM_DB
=
libjvm_db.so
LIBJVM_DB_G
=
libjvm
$(G_SUFFIX)
_db.so
LIBJVM_DB_DEBUGINFO
=
libjvm_db.debuginfo
LIBJVM_DB_DEBUGINFO
=
libjvm_db.debuginfo
LIBJVM_DB_DIZ
=
libjvm_db.diz
LIBJVM_DB_DIZ
=
libjvm_db.diz
LIBJVM_DB_G_DEBUGINFO
=
libjvm
$(G_SUFFIX)
_db.debuginfo
LIBJVM_DB_G_DIZ
=
libjvm
$(G_SUFFIX)
_db.diz
JVM_DTRACE
=
jvm_dtrace
JVM_DTRACE
=
jvm_dtrace
LIBJVM_DTRACE
=
libjvm_dtrace.so
LIBJVM_DTRACE
=
libjvm_dtrace.so
LIBJVM_DTRACE_G
=
libjvm
$(G_SUFFIX)
_dtrace.so
LIBJVM_DTRACE_DEBUGINFO
=
libjvm_dtrace.debuginfo
LIBJVM_DTRACE_DEBUGINFO
=
libjvm_dtrace.debuginfo
LIBJVM_DTRACE_DIZ
=
libjvm_dtrace.diz
LIBJVM_DTRACE_DIZ
=
libjvm_dtrace.diz
LIBJVM_DTRACE_G_DEBUGINFO
=
libjvm
$(G_SUFFIX)
_dtrace.debuginfo
LIBJVM_DTRACE_G_DIZ
=
libjvm
$(G_SUFFIX)
_dtrace.diz
JVMOFFS
=
JvmOffsets
JVMOFFS
=
JvmOffsets
JVMOFFS.o
=
$(JVMOFFS)
.o
JVMOFFS.o
=
$(JVMOFFS)
.o
...
@@ -96,25 +90,18 @@ ifneq ("${ISA}","${BUILDARCH}")
...
@@ -96,25 +90,18 @@ ifneq ("${ISA}","${BUILDARCH}")
XLIBJVM_DIR
=
64
XLIBJVM_DIR
=
64
XLIBJVM_DB
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB)
XLIBJVM_DB
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB)
XLIBJVM_DB_G
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_G)
XLIBJVM_DTRACE
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE_G
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_G)
XLIBJVM_DB_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_DEBUGINFO)
XLIBJVM_DB_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_DEBUGINFO)
XLIBJVM_DB_DIZ
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_DIZ)
XLIBJVM_DB_DIZ
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_DIZ)
XLIBJVM_DB_G_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_G_DEBUGINFO)
XLIBJVM_DB_G_DIZ
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_G_DIZ)
XLIBJVM_DTRACE_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_DEBUGINFO)
XLIBJVM_DTRACE_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_DEBUGINFO)
XLIBJVM_DTRACE_DIZ
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_DIZ)
XLIBJVM_DTRACE_DIZ
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_DIZ)
XLIBJVM_DTRACE_G_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_G_DEBUGINFO)
XLIBJVM_DTRACE_G_DIZ
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_G_DIZ)
$(XLIBJVM_DB)
:
$(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
$(XLIBJVM_DB)
:
$(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
@
echo
Making
$@
@
echo
Making
$@
$(QUIETLY)
mkdir
-p
$(XLIBJVM_DIR)
;
\
$(QUIETLY)
mkdir
-p
$(XLIBJVM_DIR)
;
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-lc
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-lc
[
-f
$(XLIBJVM_DB_G)
]
||
{
ln
-s
$(LIBJVM_DB)
$(XLIBJVM_DB_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
...
@@ -137,13 +124,11 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -137,13 +124,11 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(XLIBJVM_DB_G_DEBUGINFO)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
# in the archived name:
# in the archived name:
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO)
)
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
)
$(RM)
$(XLIBJVM_DB_DEBUGINFO)
$(XLIBJVM_DB_G_DEBUGINFO)
$(RM)
$(XLIBJVM_DB_DEBUGINFO)
[
-f
$(XLIBJVM_DB_G_DIZ)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_G_DIZ);
}
endif
endif
endif
endif
...
@@ -152,7 +137,6 @@ $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCD
...
@@ -152,7 +137,6 @@ $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCD
$(QUIETLY)
mkdir
-p
$(XLIBJVM_DIR)
;
\
$(QUIETLY)
mkdir
-p
$(XLIBJVM_DIR)
;
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
-lc
-lthread
-ldoor
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
-lc
-lthread
-ldoor
[
-f
$(XLIBJVM_DTRACE_G)
]
||
{
ln
-s
$(LIBJVM_DTRACE)
$(XLIBJVM_DTRACE_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# Clear the SHF_ALLOC flag (if set) from empty section headers.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
...
@@ -170,13 +154,11 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -170,13 +154,11 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(XLIBJVM_DTRACE_G_DEBUGINFO)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
# in the archived name:
# in the archived name:
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO)
)
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO))
$(RM)
$(XLIBJVM_DTRACE_DEBUGINFO)
$(XLIBJVM_DTRACE_G_DEBUGINFO)
$(RM)
$(XLIBJVM_DTRACE_DEBUGINFO)
[
-f
$(XLIBJVM_DTRACE_G_DIZ)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_G_DIZ);
}
endif
endif
endif
endif
...
@@ -224,7 +206,6 @@ $(LIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$
...
@@ -224,7 +206,6 @@ $(LIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$
@
echo
Making
$@
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-lc
$(SHARED_FLAG)
$(LFLAGS_JVM_DB)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DB)
.c
-lc
[
-f
$(LIBJVM_DB_G)
]
||
{
ln
-s
$@
$(LIBJVM_DB_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# Clear the SHF_ALLOC flag (if set) from empty section headers.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
...
@@ -240,11 +221,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -240,11 +221,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(LIBJVM_DB_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
$(RM)
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO)
$(RM)
$(LIBJVM_DB_DEBUGINFO)
[
-f
$(LIBJVM_DB_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_G_DIZ);
}
endif
endif
endif
endif
...
@@ -252,7 +231,6 @@ $(LIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDI
...
@@ -252,7 +231,6 @@ $(LIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDI
@
echo
Making
$@
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
-lc
-lthread
-ldoor
$(SHARED_FLAG)
$(LFLAGS_JVM_DTRACE)
-o
$@
$(DTRACE_SRCDIR)
/
$(JVM_DTRACE)
.c
-lc
-lthread
-ldoor
[
-f
$(LIBJVM_DTRACE_G)
]
||
{
ln
-s
$@
$(LIBJVM_DTRACE_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# Clear the SHF_ALLOC flag (if set) from empty section headers.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
...
@@ -268,11 +246,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -268,11 +246,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(LIBJVM_DTRACE_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO)
$(RM)
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO)
$(RM)
$(LIBJVM_DTRACE_DEBUGINFO)
[
-f
$(LIBJVM_DTRACE_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_G_DIZ);
}
endif
endif
endif
endif
...
...
make/solaris/makefiles/fastdebug.make
浏览文件 @
4f9f4521
...
@@ -122,7 +122,6 @@ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
...
@@ -122,7 +122,6 @@ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
# and mustn't be otherwise.
# and mustn't be otherwise.
MAPFILE_DTRACE
=
$(GAMMADIR)
/make/solaris/makefiles/mapfile-vers-
$(TYPE)
MAPFILE_DTRACE
=
$(GAMMADIR)
/make/solaris/makefiles/mapfile-vers-
$(TYPE)
G_SUFFIX
=
_g
VERSION
=
optimized
VERSION
=
optimized
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
-DCHECK_UNHANDLED_OOPS
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
-DCHECK_UNHANDLED_OOPS
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/solaris/makefiles/gcc.make
浏览文件 @
4f9f4521
...
@@ -187,9 +187,9 @@ SHARED_FLAG = -shared
...
@@ -187,9 +187,9 @@ SHARED_FLAG = -shared
# Use the stabs format for debugging information (this is the default
# Use the stabs format for debugging information (this is the default
# on gcc-2.91). It's good enough, has all the information about line
# on gcc-2.91). It's good enough, has all the information about line
# numbers and local variables, and libjvm
_g
.so is only about 16M.
# numbers and local variables, and libjvm.so is only about 16M.
# Change this back to "-g" if you want the most expressive format.
# Change this back to "-g" if you want the most expressive format.
# (warning: that could easily inflate libjvm
_g
.so to 150M!)
# (warning: that could easily inflate libjvm.so to 150M!)
# Note: The Itanium gcc compiler crashes when using -gstabs.
# Note: The Itanium gcc compiler crashes when using -gstabs.
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
...
...
make/solaris/makefiles/jsig.make
浏览文件 @
4f9f4521
...
@@ -24,17 +24,12 @@
...
@@ -24,17 +24,12 @@
# Rules to build signal interposition library, used by vm.make
# Rules to build signal interposition library, used by vm.make
# libjsig
[_g]
.so: signal interposition library
# libjsig.so: signal interposition library
JSIG
=
jsig
JSIG
=
jsig
LIBJSIG
=
lib
$(JSIG)
.so
LIBJSIG
=
lib
$(JSIG)
.so
JSIG_G
=
$(JSIG)$(G_SUFFIX)
LIBJSIG_G
=
lib
$(JSIG_G)
.so
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
LIBJSIG_DIZ
=
lib
$(JSIG)
.diz
LIBJSIG_DIZ
=
lib
$(JSIG)
.diz
LIBJSIG_G_DEBUGINFO
=
lib
$(JSIG_G)
.debuginfo
LIBJSIG_G_DIZ
=
lib
$(JSIG_G)
.diz
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
...
@@ -56,7 +51,6 @@ $(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c
...
@@ -56,7 +51,6 @@ $(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c
@
echo
Making signal interposition lib...
@
echo
Making signal interposition lib...
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
-o
$@
$(JSIGSRCDIR)
/jsig.c
-ldl
$(LFLAGS_JSIG)
-o
$@
$(JSIGSRCDIR)
/jsig.c
-ldl
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
...
@@ -77,11 +71,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -77,11 +71,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(LIBJSIG_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
[
-f
$(LIBJSIG_G_DIZ)
]
||
{
ln
-s
$(LIBJSIG_DIZ)
$(LIBJSIG_G_DIZ);
}
endif
endif
endif
endif
...
...
make/solaris/makefiles/jvmg.make
浏览文件 @
4f9f4521
...
@@ -51,7 +51,6 @@ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
...
@@ -51,7 +51,6 @@ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
# and mustn't be otherwise.
# and mustn't be otherwise.
MAPFILE_DTRACE
=
$(GAMMADIR)
/make/solaris/makefiles/mapfile-vers-
$(TYPE)
MAPFILE_DTRACE
=
$(GAMMADIR)
/make/solaris/makefiles/mapfile-vers-
$(TYPE)
G_SUFFIX
=
_g
VERSION
=
debug
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
PICFLAGS
=
DEFAULT
make/solaris/makefiles/mapfile-vers
浏览文件 @
4f9f4521
...
@@ -125,6 +125,7 @@ SUNWprivate_1.1 {
...
@@ -125,6 +125,7 @@ SUNWprivate_1.1 {
JVM_GetClassSignature;
JVM_GetClassSignature;
JVM_GetClassSigners;
JVM_GetClassSigners;
JVM_GetComponentType;
JVM_GetComponentType;
JVM_GetClassTypeAnnotations;
JVM_GetDeclaredClasses;
JVM_GetDeclaredClasses;
JVM_GetDeclaringClass;
JVM_GetDeclaringClass;
JVM_GetEnclosingMethodInfo;
JVM_GetEnclosingMethodInfo;
...
...
make/solaris/makefiles/optimized.make
浏览文件 @
4f9f4521
...
@@ -62,5 +62,4 @@ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
...
@@ -62,5 +62,4 @@ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
# Set the environment variable HOTSPARC_GENERIC to "true"
# Set the environment variable HOTSPARC_GENERIC to "true"
# to inhibit the effect of the previous line on CFLAGS.
# to inhibit the effect of the previous line on CFLAGS.
G_SUFFIX
=
VERSION
=
optimized
VERSION
=
optimized
make/solaris/makefiles/product.make
浏览文件 @
4f9f4521
...
@@ -78,6 +78,5 @@ endif
...
@@ -78,6 +78,5 @@ endif
# and this macro is not used.
# and this macro is not used.
# LINK_LIB.CXX/POST_HOOK += $(STRIP_LIB.CXX/POST_HOOK)
# LINK_LIB.CXX/POST_HOOK += $(STRIP_LIB.CXX/POST_HOOK)
G_SUFFIX
=
SYSDEFS
+=
-DPRODUCT
SYSDEFS
+=
-DPRODUCT
VERSION
=
optimized
VERSION
=
optimized
make/solaris/makefiles/saproc.make
浏览文件 @
4f9f4521
...
@@ -24,20 +24,15 @@
...
@@ -24,20 +24,15 @@
# Rules to build serviceability agent library, used by vm.make
# Rules to build serviceability agent library, used by vm.make
# libsaproc
[_g]
.so: serviceability agent
# libsaproc.so: serviceability agent
SAPROC
=
saproc
SAPROC
=
saproc
SADIS
=
sadis
SADIS
=
sadis
LIBSAPROC
=
lib
$(SAPROC)
.so
LIBSAPROC
=
lib
$(SAPROC)
.so
SADISOBJ
=
$(SADIS)
.o
SADISOBJ
=
$(SADIS)
.o
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_DIZ
=
lib
$(SAPROC)
.diz
LIBSAPROC_DIZ
=
lib
$(SAPROC)
.diz
LIBSAPROC_G_DEBUGINFO
=
lib
$(SAPROC_G)
.debuginfo
LIBSAPROC_G_DIZ
=
lib
$(SAPROC_G)
.diz
AGENT_DIR
=
$(GAMMADIR)
/agent
AGENT_DIR
=
$(GAMMADIR)
/agent
...
@@ -113,7 +108,6 @@ $(LIBSAPROC): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(SASRCFILES) $(SA
...
@@ -113,7 +108,6 @@ $(LIBSAPROC): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(SASRCFILES) $(SA
$(SA_LFLAGS)
\
$(SA_LFLAGS)
\
-o
$@
\
-o
$@
\
-ldl
-ldemangle
-lthread
-lc
-ldl
-ldemangle
-lthread
-lc
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
$(SADISOBJ)
:
$(SADISSRCFILES)
$(SADISOBJ)
:
$(SADISSRCFILES)
$(QUIETLY)
$(CC)
\
$(QUIETLY)
$(CC)
\
...
@@ -146,11 +140,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -146,11 +140,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
[
-f
$(LIBSAPROC_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
[
-f
$(LIBSAPROC_G_DIZ)
]
||
{
ln
-s
$(LIBSAPROC_DIZ)
$(LIBSAPROC_G_DIZ);
}
endif
endif
endif
endif
...
...
make/solaris/makefiles/vm.make
浏览文件 @
4f9f4521
...
@@ -157,12 +157,9 @@ include $(MAKEFILES_DIR)/fix_empty_sec_hdr_flags.make
...
@@ -157,12 +157,9 @@ include $(MAKEFILES_DIR)/fix_empty_sec_hdr_flags.make
JVM
=
jvm
JVM
=
jvm
LIBJVM
=
lib
$(JVM)
.so
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
LIBJVM_DIZ
=
lib
$(JVM)
.diz
LIBJVM_DIZ
=
lib
$(JVM)
.diz
LIBJVM_G_DEBUGINFO
=
lib
$(JVM)$(G_SUFFIX)
.debuginfo
LIBJVM_G_DIZ
=
lib
$(JVM)$(G_SUFFIX)
.diz
SPECIAL_PATHS
:=
adlc c1 dist gc_implementation opto shark libadt
SPECIAL_PATHS
:=
adlc c1 dist gc_implementation opto shark libadt
...
@@ -291,8 +288,6 @@ ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
...
@@ -291,8 +288,6 @@ ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
$(QUIETLY)
$(LINK_VM)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
$(QUIETLY)
$(LINK_VM)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
$(QUIETLY)
$
(
LINK_LIB.CXX/POST_HOOK
)
$(QUIETLY)
$
(
LINK_LIB.CXX/POST_HOOK
)
$(QUIETLY)
rm
-f
$@
.1
&&
ln
-s
$@
$@
.1
$(QUIETLY)
rm
-f
$@
.1
&&
ln
-s
$@
$@
.1
$(QUIETLY)
[
-f
$(LIBJVM_G)
]
||
ln
-s
$@
$(LIBJVM_G)
$(QUIETLY)
[
-f
$(LIBJVM_G)
.1
]
||
ln
-s
$@
.1
$(LIBJVM_G)
.1
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
...
@@ -313,11 +308,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
...
@@ -313,11 +308,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
# implied else here is no stripping at all
endif
endif
endif
endif
$(QUIETLY)
[
-f
$(LIBJVM_G_DEBUGINFO)
]
||
ln
-s
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
[
-f
$(LIBJVM_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DIZ)
$(LIBJVM_G_DIZ);
}
endif
endif
endif
endif
endif
# filter -sbfast -xsbfast
endif
# filter -sbfast -xsbfast
...
...
make/windows/build.make
浏览文件 @
4f9f4521
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
# SA components are built if BUILD_WIN_SA=1 is specified.
# SA components are built if BUILD_WIN_SA=1 is specified.
# See notes in README. This produces files:
# See notes in README. This produces files:
# 1. sa-jdi.jar - This is built before building jvm.dll
# 1. sa-jdi.jar - This is built before building jvm.dll
# 2. sawindbg
[_g].dll
- Native library for SA - This is built after jvm.dll
# 2. sawindbg
.dll
- Native library for SA - This is built after jvm.dll
# - Also, .lib, .map, .pdb.
# - Also, .lib, .map, .pdb.
#
#
# Please refer to ./makefiles/sa.make
# Please refer to ./makefiles/sa.make
...
@@ -115,7 +115,7 @@ VARIANT_TEXT=Kernel
...
@@ -115,7 +115,7 @@ VARIANT_TEXT=Kernel
!
endif
!
endif
#########################################################################
#########################################################################
# Parameters for VERSIONINFO resource for jvm
[_g]
.dll.
# Parameters for VERSIONINFO resource for jvm.dll.
# These can be overridden via the nmake.exe command line.
# These can be overridden via the nmake.exe command line.
# They are overridden by RE during the control builds.
# They are overridden by RE during the control builds.
#
#
...
@@ -225,11 +225,6 @@ checkSA::
...
@@ -225,11 +225,6 @@ checkSA::
#########################################################################
#########################################################################
# With the jvm_g.dll now being named jvm.dll, we can't build both and place
# the dll's in the same directory, so we only build one at a time,
# re-directing the output to different output directories (done by user
# of this makefile).
#
defaultTarget
:
product
defaultTarget
:
product
# The product or release build is an optimized build, and is the default
# The product or release build is an optimized build, and is the default
...
...
make/windows/projectfiles/compiler2/ADLCompiler.dsp
浏览文件 @
4f9f4521
...
@@ -72,11 +72,11 @@ LINK32=link.exe
...
@@ -72,11 +72,11 @@ LINK32=link.exe
# ADD RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BASE BSC32 /nologo
# ADD BSC32 /o".\adlc\Debug\adlc
_g
.bsc"
# ADD BSC32 /o".\adlc\Debug\adlc.bsc"
# SUBTRACT BSC32 /nologo
# SUBTRACT BSC32 /nologo
LINK32=link.exe
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:console /debug /machine:I386 /out:".\bin\adlc
_g
.exe"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:console /debug /machine:I386 /out:".\bin\adlc.exe"
!ENDIF
!ENDIF
...
...
make/windows/projectfiles/tiered/ADLCompiler.dsp
浏览文件 @
4f9f4521
...
@@ -72,11 +72,11 @@ LINK32=link.exe
...
@@ -72,11 +72,11 @@ LINK32=link.exe
# ADD RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BASE BSC32 /nologo
# ADD BSC32 /o".\adlc\Debug\adlc
_g
.bsc"
# ADD BSC32 /o".\adlc\Debug\adlc.bsc"
# SUBTRACT BSC32 /nologo
# SUBTRACT BSC32 /nologo
LINK32=link.exe
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:console /debug /machine:I386 /out:".\bin\adlc
_g
.exe"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib uuid.lib /nologo /subsystem:console /debug /machine:I386 /out:".\bin\adlc.exe"
!ENDIF
!ENDIF
...
...
src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
浏览文件 @
4f9f4521
...
@@ -298,7 +298,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
...
@@ -298,7 +298,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
for
(
int
i
=
0
;
i
<
_bytes_to_copy
;
i
++
)
{
for
(
int
i
=
0
;
i
<
_bytes_to_copy
;
i
++
)
{
address
ptr
=
(
address
)(
_pc_start
+
i
);
address
ptr
=
(
address
)(
_pc_start
+
i
);
int
a_byte
=
(
*
ptr
)
&
0xFF
;
int
a_byte
=
(
*
ptr
)
&
0xFF
;
__
a_byte
(
a_byte
);
__
emit_int8
(
a_byte
);
}
}
}
}
...
@@ -340,10 +340,10 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
...
@@ -340,10 +340,10 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
int
being_initialized_entry_offset
=
__
offset
()
-
being_initialized_entry
+
sizeof_patch_record
;
int
being_initialized_entry_offset
=
__
offset
()
-
being_initialized_entry
+
sizeof_patch_record
;
// Emit the patch record. We need to emit a full word, so emit an extra empty byte
// Emit the patch record. We need to emit a full word, so emit an extra empty byte
__
a_byte
(
0
);
__
emit_int8
(
0
);
__
a_byte
(
being_initialized_entry_offset
);
__
emit_int8
(
being_initialized_entry_offset
);
__
a_byte
(
bytes_to_skip
);
__
emit_int8
(
bytes_to_skip
);
__
a_byte
(
_bytes_to_copy
);
__
emit_int8
(
_bytes_to_copy
);
address
patch_info_pc
=
__
pc
();
address
patch_info_pc
=
__
pc
();
assert
(
patch_info_pc
-
end_of_patch
==
bytes_to_skip
,
"incorrect patch info"
);
assert
(
patch_info_pc
-
end_of_patch
==
bytes_to_skip
,
"incorrect patch info"
);
...
...
src/cpu/sparc/vm/cppInterpreter_sparc.cpp
浏览文件 @
4f9f4521
...
@@ -582,7 +582,9 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
...
@@ -582,7 +582,9 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// the following temporary registers are used during frame creation
// the following temporary registers are used during frame creation
const
Register
Gtmp1
=
G3_scratch
;
const
Register
Gtmp1
=
G3_scratch
;
const
Register
Gtmp2
=
G1_scratch
;
const
Register
Gtmp2
=
G1_scratch
;
const
Address
size_of_parameters
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_parameters_offset
()));
const
Register
RconstMethod
=
Gtmp1
;
const
Address
constMethod
(
G5_method
,
0
,
in_bytes
(
Method
::
const_offset
()));
const
Address
size_of_parameters
(
RconstMethod
,
0
,
in_bytes
(
ConstMethod
::
size_of_parameters_offset
()));
bool
inc_counter
=
UseCompiler
||
CountCompiledCalls
;
bool
inc_counter
=
UseCompiler
||
CountCompiledCalls
;
...
@@ -618,6 +620,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
...
@@ -618,6 +620,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
}
}
#endif // ASSERT
#endif // ASSERT
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_parameters
,
Gtmp1
);
__
lduh
(
size_of_parameters
,
Gtmp1
);
__
sll
(
Gtmp1
,
LogBytesPerWord
,
Gtmp2
);
// parameter size in bytes
__
sll
(
Gtmp1
,
LogBytesPerWord
,
Gtmp2
);
// parameter size in bytes
__
add
(
Gargs
,
Gtmp2
,
Gargs
);
// points to first local + BytesPerWord
__
add
(
Gargs
,
Gtmp2
,
Gargs
);
// points to first local + BytesPerWord
...
@@ -1047,8 +1050,6 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
...
@@ -1047,8 +1050,6 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
const
Register
Gtmp
=
G3_scratch
;
const
Register
Gtmp
=
G3_scratch
;
const
Address
constMethod
(
G5_method
,
0
,
in_bytes
(
Method
::
const_offset
()));
const
Address
constMethod
(
G5_method
,
0
,
in_bytes
(
Method
::
const_offset
()));
const
Address
access_flags
(
G5_method
,
0
,
in_bytes
(
Method
::
access_flags_offset
()));
const
Address
access_flags
(
G5_method
,
0
,
in_bytes
(
Method
::
access_flags_offset
()));
const
Address
size_of_parameters
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_parameters_offset
()));
const
Address
size_of_locals
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_locals_offset
()));
// slop factor is two extra slots on the expression stack so that
// slop factor is two extra slots on the expression stack so that
// we always have room to store a result when returning from a call without parameters
// we always have room to store a result when returning from a call without parameters
...
@@ -1066,6 +1067,9 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
...
@@ -1066,6 +1067,9 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
// Now compute new frame size
// Now compute new frame size
if
(
native
)
{
if
(
native
)
{
const
Register
RconstMethod
=
Gtmp
;
const
Address
size_of_parameters
(
RconstMethod
,
0
,
in_bytes
(
ConstMethod
::
size_of_parameters_offset
()));
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_parameters
,
Gtmp
);
__
lduh
(
size_of_parameters
,
Gtmp
);
__
calc_mem_param_words
(
Gtmp
,
Gtmp
);
// space for native call parameters passed on the stack in words
__
calc_mem_param_words
(
Gtmp
,
Gtmp
);
// space for native call parameters passed on the stack in words
}
else
{
}
else
{
...
@@ -1236,9 +1240,13 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
...
@@ -1236,9 +1240,13 @@ void CppInterpreterGenerator::generate_compute_interpreter_state(const Register
}
}
if
(
init_value
!=
noreg
)
{
if
(
init_value
!=
noreg
)
{
Label
clear_loop
;
Label
clear_loop
;
const
Register
RconstMethod
=
O1
;
const
Address
size_of_parameters
(
RconstMethod
,
0
,
in_bytes
(
ConstMethod
::
size_of_parameters_offset
()));
const
Address
size_of_locals
(
RconstMethod
,
0
,
in_bytes
(
ConstMethod
::
size_of_locals_offset
()));
// NOTE: If you change the frame layout, this code will need to
// NOTE: If you change the frame layout, this code will need to
// be updated!
// be updated!
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_locals
,
O2
);
__
lduh
(
size_of_locals
,
O2
);
__
lduh
(
size_of_parameters
,
O1
);
__
lduh
(
size_of_parameters
,
O1
);
__
sll
(
O2
,
LogBytesPerWord
,
O2
);
__
sll
(
O2
,
LogBytesPerWord
,
O2
);
...
@@ -1483,13 +1491,16 @@ void CppInterpreterGenerator::adjust_callers_stack(Register args) {
...
@@ -1483,13 +1491,16 @@ void CppInterpreterGenerator::adjust_callers_stack(Register args) {
//
//
// assert_different_registers(state, prev_state);
// assert_different_registers(state, prev_state);
const
Register
Gtmp
=
G3_scratch
;
const
Register
Gtmp
=
G3_scratch
;
const
RconstMethod
=
G3_scratch
;
const
Register
tmp
=
O2
;
const
Register
tmp
=
O2
;
const
Address
size_of_parameters
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_parameters_offset
()));
const
Address
constMethod
(
G5_method
,
0
,
in_bytes
(
Method
::
const_offset
()));
const
Address
size_of_locals
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_locals_offset
()));
const
Address
size_of_parameters
(
RconstMethod
,
0
,
in_bytes
(
ConstMethod
::
size_of_parameters_offset
()));
const
Address
size_of_locals
(
RconstMethod
,
0
,
in_bytes
(
ConstMethod
::
size_of_locals_offset
()));
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_parameters
,
tmp
);
__
lduh
(
size_of_parameters
,
tmp
);
__
sll
(
tmp
,
LogBytesPerWord
,
G
tmp
);
// parameter size in bytes
__
sll
(
tmp
,
LogBytesPerWord
,
G
args
);
// parameter size in bytes
__
add
(
args
,
G
tmp
,
Gargs
);
// points to first local + BytesPerWord
__
add
(
args
,
G
args
,
Gargs
);
// points to first local + BytesPerWord
// NEW
// NEW
__
add
(
Gargs
,
-
wordSize
,
Gargs
);
// points to first local[0]
__
add
(
Gargs
,
-
wordSize
,
Gargs
);
// points to first local[0]
// determine extra space for non-argument locals & adjust caller's SP
// determine extra space for non-argument locals & adjust caller's SP
...
@@ -1541,8 +1552,6 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -1541,8 +1552,6 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
const
Address
constMethod
(
G5_method
,
0
,
in_bytes
(
Method
::
const_offset
()));
const
Address
constMethod
(
G5_method
,
0
,
in_bytes
(
Method
::
const_offset
()));
const
Address
access_flags
(
G5_method
,
0
,
in_bytes
(
Method
::
access_flags_offset
()));
const
Address
access_flags
(
G5_method
,
0
,
in_bytes
(
Method
::
access_flags_offset
()));
const
Address
size_of_parameters
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_parameters_offset
()));
const
Address
size_of_locals
(
G5_method
,
0
,
in_bytes
(
Method
::
size_of_locals_offset
()));
address
entry_point
=
__
pc
();
address
entry_point
=
__
pc
();
__
mov
(
G0
,
prevState
);
// no current activation
__
mov
(
G0
,
prevState
);
// no current activation
...
@@ -1750,7 +1759,9 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -1750,7 +1759,9 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
__
ld_ptr
(
STATE
(
_result
.
_to_call
.
_callee
),
L4_scratch
);
// called method
__
ld_ptr
(
STATE
(
_result
.
_to_call
.
_callee
),
L4_scratch
);
// called method
__
ld_ptr
(
STATE
(
_stack
),
L1_scratch
);
// get top of java expr stack
__
ld_ptr
(
STATE
(
_stack
),
L1_scratch
);
// get top of java expr stack
__
lduh
(
L4_scratch
,
in_bytes
(
Method
::
size_of_parameters_offset
()),
L2_scratch
);
// get parameter size
// get parameter size
__
ld_ptr
(
L4_scratch
,
in_bytes
(
Method
::
const_offset
()),
L2_scratch
);
__
lduh
(
L2_scratch
,
in_bytes
(
ConstMethod
::
size_of_parameters_offset
()),
L2_scratch
);
__
sll
(
L2_scratch
,
LogBytesPerWord
,
L2_scratch
);
// parameter size in bytes
__
sll
(
L2_scratch
,
LogBytesPerWord
,
L2_scratch
);
// parameter size in bytes
__
add
(
L1_scratch
,
L2_scratch
,
L1_scratch
);
// stack destination for result
__
add
(
L1_scratch
,
L2_scratch
,
L1_scratch
);
// stack destination for result
__
ld
(
L4_scratch
,
in_bytes
(
Method
::
result_index_offset
()),
L3_scratch
);
// called method result type index
__
ld
(
L4_scratch
,
in_bytes
(
Method
::
result_index_offset
()),
L3_scratch
);
// called method result type index
...
...
src/cpu/sparc/vm/macroAssembler_sparc.cpp
浏览文件 @
4f9f4521
...
@@ -100,34 +100,6 @@ const char* Argument::name() const {
...
@@ -100,34 +100,6 @@ const char* Argument::name() const {
bool
AbstractAssembler
::
pd_check_instruction_mark
()
{
return
false
;
}
bool
AbstractAssembler
::
pd_check_instruction_mark
()
{
return
false
;
}
#endif
#endif
void
MacroAssembler
::
print_instruction
(
int
inst
)
{
const
char
*
s
;
switch
(
inv_op
(
inst
))
{
default:
s
=
"????"
;
break
;
case
call_op
:
s
=
"call"
;
break
;
case
branch_op
:
switch
(
inv_op2
(
inst
))
{
case
fb_op2
:
s
=
"fb"
;
break
;
case
fbp_op2
:
s
=
"fbp"
;
break
;
case
br_op2
:
s
=
"br"
;
break
;
case
bp_op2
:
s
=
"bp"
;
break
;
case
cb_op2
:
s
=
"cb"
;
break
;
case
bpr_op2
:
{
if
(
is_cbcond
(
inst
))
{
s
=
is_cxb
(
inst
)
?
"cxb"
:
"cwb"
;
}
else
{
s
=
"bpr"
;
}
break
;
}
default:
s
=
"????"
;
break
;
}
}
::
tty
->
print
(
"%s"
,
s
);
}
// Patch instruction inst at offset inst_pos to refer to dest_pos
// Patch instruction inst at offset inst_pos to refer to dest_pos
// and return the resulting instruction.
// and return the resulting instruction.
// We should have pcs, not offsets, but since all is relative, it will work out
// We should have pcs, not offsets, but since all is relative, it will work out
...
...
src/cpu/sparc/vm/macroAssembler_sparc.hpp
浏览文件 @
4f9f4521
...
@@ -603,7 +603,6 @@ class MacroAssembler : public Assembler {
...
@@ -603,7 +603,6 @@ class MacroAssembler : public Assembler {
friend
class
Label
;
friend
class
Label
;
protected:
protected:
static
void
print_instruction
(
int
inst
);
static
int
patched_branch
(
int
dest_pos
,
int
inst
,
int
inst_pos
);
static
int
patched_branch
(
int
dest_pos
,
int
inst
,
int
inst_pos
);
static
int
branch_destination
(
int
inst
,
int
pos
);
static
int
branch_destination
(
int
inst
,
int
pos
);
...
@@ -759,9 +758,6 @@ class MacroAssembler : public Assembler {
...
@@ -759,9 +758,6 @@ class MacroAssembler : public Assembler {
// Required platform-specific helpers for Label::patch_instructions.
// Required platform-specific helpers for Label::patch_instructions.
// They _shadow_ the declarations in AbstractAssembler, which are undefined.
// They _shadow_ the declarations in AbstractAssembler, which are undefined.
void
pd_patch_instruction
(
address
branch
,
address
target
);
void
pd_patch_instruction
(
address
branch
,
address
target
);
#ifndef PRODUCT
static
void
pd_print_patched_instruction
(
address
branch
);
#endif
// sethi Macro handles optimizations and relocations
// sethi Macro handles optimizations and relocations
private:
private:
...
...
src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
浏览文件 @
4f9f4521
...
@@ -43,14 +43,6 @@ inline void MacroAssembler::pd_patch_instruction(address branch, address target)
...
@@ -43,14 +43,6 @@ inline void MacroAssembler::pd_patch_instruction(address branch, address target)
stub_inst
=
patched_branch
(
target
-
branch
,
stub_inst
,
0
);
stub_inst
=
patched_branch
(
target
-
branch
,
stub_inst
,
0
);
}
}
#ifndef PRODUCT
inline
void
MacroAssembler
::
pd_print_patched_instruction
(
address
branch
)
{
jint
stub_inst
=
*
(
jint
*
)
branch
;
print_instruction
(
stub_inst
);
::
tty
->
print
(
"%s"
,
" (unresolved)"
);
}
#endif // PRODUCT
// Use the right loads/stores for the platform
// Use the right loads/stores for the platform
inline
void
MacroAssembler
::
ld_ptr
(
Register
s1
,
Register
s2
,
Register
d
)
{
inline
void
MacroAssembler
::
ld_ptr
(
Register
s1
,
Register
s2
,
Register
d
)
{
#ifdef _LP64
#ifdef _LP64
...
...
src/cpu/sparc/vm/methodHandles_sparc.cpp
浏览文件 @
4f9f4521
...
@@ -171,7 +171,8 @@ void MethodHandles::jump_to_lambda_form(MacroAssembler* _masm,
...
@@ -171,7 +171,8 @@ void MethodHandles::jump_to_lambda_form(MacroAssembler* _masm,
if
(
VerifyMethodHandles
&&
!
for_compiler_entry
)
{
if
(
VerifyMethodHandles
&&
!
for_compiler_entry
)
{
// make sure recv is already on stack
// make sure recv is already on stack
__
load_sized_value
(
Address
(
method_temp
,
Method
::
size_of_parameters_offset
()),
__
ld_ptr
(
method_temp
,
in_bytes
(
Method
::
const_offset
()),
temp2
);
__
load_sized_value
(
Address
(
temp2
,
ConstMethod
::
size_of_parameters_offset
()),
temp2
,
temp2
,
sizeof
(
u2
),
/*is_signed*/
false
);
sizeof
(
u2
),
/*is_signed*/
false
);
// assert(sizeof(u2) == sizeof(Method::_size_of_parameters), "");
// assert(sizeof(u2) == sizeof(Method::_size_of_parameters), "");
...
@@ -233,7 +234,8 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
...
@@ -233,7 +234,8 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler*
int
ref_kind
=
signature_polymorphic_intrinsic_ref_kind
(
iid
);
int
ref_kind
=
signature_polymorphic_intrinsic_ref_kind
(
iid
);
assert
(
ref_kind
!=
0
||
iid
==
vmIntrinsics
::
_invokeBasic
,
"must be _invokeBasic or a linkTo intrinsic"
);
assert
(
ref_kind
!=
0
||
iid
==
vmIntrinsics
::
_invokeBasic
,
"must be _invokeBasic or a linkTo intrinsic"
);
if
(
ref_kind
==
0
||
MethodHandles
::
ref_kind_has_receiver
(
ref_kind
))
{
if
(
ref_kind
==
0
||
MethodHandles
::
ref_kind_has_receiver
(
ref_kind
))
{
__
load_sized_value
(
Address
(
G5_method
,
Method
::
size_of_parameters_offset
()),
__
ld_ptr
(
G5_method
,
in_bytes
(
Method
::
const_offset
()),
O4_param_size
);
__
load_sized_value
(
Address
(
O4_param_size
,
ConstMethod
::
size_of_parameters_offset
()),
O4_param_size
,
O4_param_size
,
sizeof
(
u2
),
/*is_signed*/
false
);
sizeof
(
u2
),
/*is_signed*/
false
);
// assert(sizeof(u2) == sizeof(Method::_size_of_parameters), "");
// assert(sizeof(u2) == sizeof(Method::_size_of_parameters), "");
...
...
src/cpu/sparc/vm/sparc.ad
浏览文件 @
4f9f4521
...
@@ -10224,7 +10224,7 @@ instruct array_equals(o0RegP ary1, o1RegP ary2, g3RegI tmp1, notemp_iRegI result
...
@@ -10224,7 +10224,7 @@ instruct array_equals(o0RegP ary1, o1RegP ary2, g3RegI tmp1, notemp_iRegI result
//---------- Zeros Count Instructions ------------------------------------------
//---------- Zeros Count Instructions ------------------------------------------
instruct countLeadingZerosI(iRegI dst, iRegI src, iRegI tmp, flagsReg cr) %{
instruct countLeadingZerosI(iRegI
safe
dst, iRegI src, iRegI tmp, flagsReg cr) %{
predicate(UsePopCountInstruction); // See Matcher::match_rule_supported
predicate(UsePopCountInstruction); // See Matcher::match_rule_supported
match(Set dst (CountLeadingZerosI src));
match(Set dst (CountLeadingZerosI src));
effect(TEMP dst, TEMP tmp, KILL cr);
effect(TEMP dst, TEMP tmp, KILL cr);
...
@@ -10321,7 +10321,7 @@ instruct countLeadingZerosL(iRegIsafe dst, iRegL src, iRegL tmp, flagsReg cr) %{
...
@@ -10321,7 +10321,7 @@ instruct countLeadingZerosL(iRegIsafe dst, iRegL src, iRegL tmp, flagsReg cr) %{
ins_pipe(ialu_reg);
ins_pipe(ialu_reg);
%}
%}
instruct countTrailingZerosI(iRegI dst, iRegI src, flagsReg cr) %{
instruct countTrailingZerosI(iRegI
safe
dst, iRegI src, flagsReg cr) %{
predicate(UsePopCountInstruction); // See Matcher::match_rule_supported
predicate(UsePopCountInstruction); // See Matcher::match_rule_supported
match(Set dst (CountTrailingZerosI src));
match(Set dst (CountTrailingZerosI src));
effect(TEMP dst, KILL cr);
effect(TEMP dst, KILL cr);
...
@@ -10364,19 +10364,21 @@ instruct countTrailingZerosL(iRegIsafe dst, iRegL src, flagsReg cr) %{
...
@@ -10364,19 +10364,21 @@ instruct countTrailingZerosL(iRegIsafe dst, iRegL src, flagsReg cr) %{
//---------- Population Count Instructions -------------------------------------
//---------- Population Count Instructions -------------------------------------
instruct popCountI(iRegI dst, iRegI src) %{
instruct popCountI(iRegI
safe
dst, iRegI src) %{
predicate(UsePopCountInstruction);
predicate(UsePopCountInstruction);
match(Set dst (PopCountI src));
match(Set dst (PopCountI src));
format %{ "POPC $src, $dst" %}
format %{ "SRL $src, G0, $dst\t! clear upper word for 64 bit POPC\n\t"
"POPC $dst, $dst" %}
ins_encode %{
ins_encode %{
__ popc($src$$Register, $dst$$Register);
__ srl($src$$Register, G0, $dst$$Register);
__ popc($dst$$Register, $dst$$Register);
%}
%}
ins_pipe(ialu_reg);
ins_pipe(ialu_reg);
%}
%}
// Note: Long.bitCount(long) returns an int.
// Note: Long.bitCount(long) returns an int.
instruct popCountL(iRegI dst, iRegL src) %{
instruct popCountL(iRegI
safe
dst, iRegL src) %{
predicate(UsePopCountInstruction);
predicate(UsePopCountInstruction);
match(Set dst (PopCountL src));
match(Set dst (PopCountL src));
...
...
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
浏览文件 @
4f9f4521
...
@@ -434,7 +434,7 @@ void TemplateInterpreterGenerator::generate_stack_overflow_check(Register Rframe
...
@@ -434,7 +434,7 @@ void TemplateInterpreterGenerator::generate_stack_overflow_check(Register Rframe
// the frame is greater than one page in size, so check against
// the frame is greater than one page in size, so check against
// the bottom of the stack
// the bottom of the stack
__
cmp_and_brx_short
(
SP
,
Rscratch
,
Assembler
::
greater
,
Assembler
::
pt
,
after_frame_check
);
__
cmp_and_brx_short
(
SP
,
Rscratch
,
Assembler
::
greater
Unsigned
,
Assembler
::
pt
,
after_frame_check
);
// the stack will overflow, throw an exception
// the stack will overflow, throw an exception
...
@@ -494,9 +494,6 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
...
@@ -494,9 +494,6 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
// (gri - 2/25/2000)
// (gri - 2/25/2000)
const
Address
size_of_parameters
(
G5_method
,
Method
::
size_of_parameters_offset
());
const
Address
size_of_locals
(
G5_method
,
Method
::
size_of_locals_offset
());
const
Address
constMethod
(
G5_method
,
Method
::
const_offset
());
int
rounded_vm_local_words
=
round_to
(
frame
::
interpreter_frame_vm_local_words
,
WordsPerLong
);
int
rounded_vm_local_words
=
round_to
(
frame
::
interpreter_frame_vm_local_words
,
WordsPerLong
);
const
int
extra_space
=
const
int
extra_space
=
...
@@ -506,11 +503,15 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
...
@@ -506,11 +503,15 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
(
native_call
?
frame
::
interpreter_frame_extra_outgoing_argument_words
:
0
);
(
native_call
?
frame
::
interpreter_frame_extra_outgoing_argument_words
:
0
);
const
Register
Glocals_size
=
G3
;
const
Register
Glocals_size
=
G3
;
const
Register
RconstMethod
=
Glocals_size
;
const
Register
Otmp1
=
O3
;
const
Register
Otmp1
=
O3
;
const
Register
Otmp2
=
O4
;
const
Register
Otmp2
=
O4
;
// Lscratch can't be used as a temporary because the call_stub uses
// Lscratch can't be used as a temporary because the call_stub uses
// it to assert that the stack frame was setup correctly.
// it to assert that the stack frame was setup correctly.
const
Address
constMethod
(
G5_method
,
Method
::
const_offset
());
const
Address
size_of_parameters
(
RconstMethod
,
ConstMethod
::
size_of_parameters_offset
());
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_parameters
,
Glocals_size
);
__
lduh
(
size_of_parameters
,
Glocals_size
);
// Gargs points to first local + BytesPerWord
// Gargs points to first local + BytesPerWord
...
@@ -530,6 +531,8 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
...
@@ -530,6 +531,8 @@ void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call) {
//
//
// Compute number of locals in method apart from incoming parameters
// Compute number of locals in method apart from incoming parameters
//
//
const
Address
size_of_locals
(
Otmp1
,
ConstMethod
::
size_of_locals_offset
());
__
ld_ptr
(
constMethod
,
Otmp1
);
__
lduh
(
size_of_locals
,
Otmp1
);
__
lduh
(
size_of_locals
,
Otmp1
);
__
sub
(
Otmp1
,
Glocals_size
,
Glocals_size
);
__
sub
(
Otmp1
,
Glocals_size
,
Glocals_size
);
__
round_to
(
Glocals_size
,
WordsPerLong
);
__
round_to
(
Glocals_size
,
WordsPerLong
);
...
@@ -1256,8 +1259,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -1256,8 +1259,7 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
// make sure registers are different!
// make sure registers are different!
assert_different_registers
(
G2_thread
,
G5_method
,
Gargs
,
Gtmp1
,
Gtmp2
);
assert_different_registers
(
G2_thread
,
G5_method
,
Gargs
,
Gtmp1
,
Gtmp2
);
const
Address
size_of_parameters
(
G5_method
,
Method
::
size_of_parameters_offset
());
const
Address
constMethod
(
G5_method
,
Method
::
const_offset
());
const
Address
size_of_locals
(
G5_method
,
Method
::
size_of_locals_offset
());
// Seems like G5_method is live at the point this is used. So we could make this look consistent
// Seems like G5_method is live at the point this is used. So we could make this look consistent
// and use in the asserts.
// and use in the asserts.
const
Address
access_flags
(
Lmethod
,
Method
::
access_flags_offset
());
const
Address
access_flags
(
Lmethod
,
Method
::
access_flags_offset
());
...
@@ -1307,8 +1309,13 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -1307,8 +1309,13 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
init_value
=
G0
;
init_value
=
G0
;
Label
clear_loop
;
Label
clear_loop
;
const
Register
RconstMethod
=
O1
;
const
Address
size_of_parameters
(
RconstMethod
,
ConstMethod
::
size_of_parameters_offset
());
const
Address
size_of_locals
(
RconstMethod
,
ConstMethod
::
size_of_locals_offset
());
// NOTE: If you change the frame layout, this code will need to
// NOTE: If you change the frame layout, this code will need to
// be updated!
// be updated!
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_locals
,
O2
);
__
lduh
(
size_of_locals
,
O2
);
__
lduh
(
size_of_parameters
,
O1
);
__
lduh
(
size_of_parameters
,
O1
);
__
sll
(
O2
,
Interpreter
::
logStackElementSize
,
O2
);
__
sll
(
O2
,
Interpreter
::
logStackElementSize
,
O2
);
...
@@ -1823,9 +1830,13 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
...
@@ -1823,9 +1830,13 @@ void TemplateInterpreterGenerator::generate_throw_exception() {
const
Register
Gtmp1
=
G3_scratch
;
const
Register
Gtmp1
=
G3_scratch
;
const
Register
Gtmp2
=
G1_scratch
;
const
Register
Gtmp2
=
G1_scratch
;
const
Register
RconstMethod
=
Gtmp1
;
const
Address
constMethod
(
Lmethod
,
Method
::
const_offset
());
const
Address
size_of_parameters
(
RconstMethod
,
ConstMethod
::
size_of_parameters_offset
());
// Compute size of arguments for saving when returning to deoptimized caller
// Compute size of arguments for saving when returning to deoptimized caller
__
lduh
(
Lmethod
,
in_bytes
(
Method
::
size_of_parameters_offset
()),
Gtmp1
);
__
ld_ptr
(
constMethod
,
RconstMethod
);
__
lduh
(
size_of_parameters
,
Gtmp1
);
__
sll
(
Gtmp1
,
Interpreter
::
logStackElementSize
,
Gtmp1
);
__
sll
(
Gtmp1
,
Interpreter
::
logStackElementSize
,
Gtmp1
);
__
sub
(
Llocals
,
Gtmp1
,
Gtmp2
);
__
sub
(
Llocals
,
Gtmp1
,
Gtmp2
);
__
add
(
Gtmp2
,
wordSize
,
Gtmp2
);
__
add
(
Gtmp2
,
wordSize
,
Gtmp2
);
...
...
src/cpu/sparc/vm/templateTable_sparc.cpp
浏览文件 @
4f9f4521
...
@@ -3040,7 +3040,8 @@ void TemplateTable::invokevfinal_helper(Register Rscratch, Register Rret) {
...
@@ -3040,7 +3040,8 @@ void TemplateTable::invokevfinal_helper(Register Rscratch, Register Rret) {
Register
Rtemp
=
G4_scratch
;
Register
Rtemp
=
G4_scratch
;
// Load receiver from stack slot
// Load receiver from stack slot
__
lduh
(
G5_method
,
in_bytes
(
Method
::
size_of_parameters_offset
()),
G4_scratch
);
__
ld_ptr
(
G5_method
,
in_bytes
(
Method
::
const_offset
()),
G4_scratch
);
__
lduh
(
G4_scratch
,
in_bytes
(
ConstMethod
::
size_of_parameters_offset
()),
G4_scratch
);
__
load_receiver
(
G4_scratch
,
O0
);
__
load_receiver
(
G4_scratch
,
O0
);
// receiver NULL check
// receiver NULL check
...
...
src/cpu/x86/vm/assembler_x86.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
浏览文件 @
4f9f4521
...
@@ -313,10 +313,10 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
...
@@ -313,10 +313,10 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
#endif
#endif
}
else
{
}
else
{
// make a copy the code which is going to be patched.
// make a copy the code which is going to be patched.
for
(
int
i
=
0
;
i
<
_bytes_to_copy
;
i
++
)
{
for
(
int
i
=
0
;
i
<
_bytes_to_copy
;
i
++
)
{
address
ptr
=
(
address
)(
_pc_start
+
i
);
address
ptr
=
(
address
)(
_pc_start
+
i
);
int
a_byte
=
(
*
ptr
)
&
0xFF
;
int
a_byte
=
(
*
ptr
)
&
0xFF
;
__
a_byte
(
a_byte
);
__
emit_int8
(
a_byte
);
*
ptr
=
0x90
;
// make the site look like a nop
*
ptr
=
0x90
;
// make the site look like a nop
}
}
}
}
...
@@ -363,11 +363,11 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
...
@@ -363,11 +363,11 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
// emit the offsets needed to find the code to patch
// emit the offsets needed to find the code to patch
int
being_initialized_entry_offset
=
__
pc
()
-
being_initialized_entry
+
sizeof_patch_record
;
int
being_initialized_entry_offset
=
__
pc
()
-
being_initialized_entry
+
sizeof_patch_record
;
__
a_byte
(
0xB8
);
__
emit_int8
((
unsigned
char
)
0xB8
);
__
a_byte
(
0
);
__
emit_int8
(
0
);
__
a_byte
(
being_initialized_entry_offset
);
__
emit_int8
(
being_initialized_entry_offset
);
__
a_byte
(
bytes_to_skip
);
__
emit_int8
(
bytes_to_skip
);
__
a_byte
(
_bytes_to_copy
);
__
emit_int8
(
_bytes_to_copy
);
address
patch_info_pc
=
__
pc
();
address
patch_info_pc
=
__
pc
();
assert
(
patch_info_pc
-
end_of_patch
==
bytes_to_skip
,
"incorrect patch info"
);
assert
(
patch_info_pc
-
end_of_patch
==
bytes_to_skip
,
"incorrect patch info"
);
...
...
src/cpu/x86/vm/cppInterpreter_x86.cpp
浏览文件 @
4f9f4521
...
@@ -611,8 +611,6 @@ void InterpreterGenerator::generate_counter_overflow(Label* do_continue) {
...
@@ -611,8 +611,6 @@ void InterpreterGenerator::generate_counter_overflow(Label* do_continue) {
// C++ interpreter only
// C++ interpreter only
// rsi/r13 - previous interpreter state pointer
// rsi/r13 - previous interpreter state pointer
const
Address
size_of_parameters
(
rbx
,
Method
::
size_of_parameters_offset
());
// InterpreterRuntime::frequency_counter_overflow takes one argument
// InterpreterRuntime::frequency_counter_overflow takes one argument
// indicating if the counter overflow occurs at a backwards branch (non-NULL bcp).
// indicating if the counter overflow occurs at a backwards branch (non-NULL bcp).
// The call returns the address of the verified entry point for the method or NULL
// The call returns the address of the verified entry point for the method or NULL
...
@@ -977,15 +975,16 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
...
@@ -977,15 +975,16 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// to save/restore.
// to save/restore.
address
entry_point
=
__
pc
();
address
entry_point
=
__
pc
();
const
Address
size_of_parameters
(
rbx
,
Method
::
size_of_parameters_offset
());
const
Address
constMethod
(
rbx
,
Method
::
const_offset
());
const
Address
size_of_locals
(
rbx
,
Method
::
size_of_locals_offset
());
const
Address
invocation_counter
(
rbx
,
Method
::
invocation_counter_offset
()
+
InvocationCounter
::
counter_offset
());
const
Address
invocation_counter
(
rbx
,
Method
::
invocation_counter_offset
()
+
InvocationCounter
::
counter_offset
());
const
Address
access_flags
(
rbx
,
Method
::
access_flags_offset
());
const
Address
access_flags
(
rbx
,
Method
::
access_flags_offset
());
const
Address
size_of_parameters
(
rcx
,
ConstMethod
::
size_of_parameters_offset
());
// rsi/r13 == state/locals rdi == prevstate
// rsi/r13 == state/locals rdi == prevstate
const
Register
locals
=
rdi
;
const
Register
locals
=
rdi
;
// get parameter size (always needed)
// get parameter size (always needed)
__
movptr
(
rcx
,
constMethod
);
__
load_unsigned_short
(
rcx
,
size_of_parameters
);
__
load_unsigned_short
(
rcx
,
size_of_parameters
);
// rbx: Method*
// rbx: Method*
...
@@ -994,6 +993,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
...
@@ -994,6 +993,7 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
// for natives the size of locals is zero
// for natives the size of locals is zero
// compute beginning of parameters /locals
// compute beginning of parameters /locals
__
lea
(
locals
,
Address
(
rsp
,
rcx
,
Address
::
times_ptr
,
-
wordSize
));
__
lea
(
locals
,
Address
(
rsp
,
rcx
,
Address
::
times_ptr
,
-
wordSize
));
// initialize fixed part of activation frame
// initialize fixed part of activation frame
...
@@ -1107,11 +1107,14 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
...
@@ -1107,11 +1107,14 @@ address InterpreterGenerator::generate_native_entry(bool synchronized) {
const
Register
method
=
rbx
;
const
Register
method
=
rbx
;
const
Register
thread
=
LP64_ONLY
(
r15_thread
)
NOT_LP64
(
rdi
);
const
Register
thread
=
LP64_ONLY
(
r15_thread
)
NOT_LP64
(
rdi
);
const
Register
t
=
InterpreterRuntime
::
SignatureHandlerGenerator
::
temp
();
// rcx|rscratch1
const
Register
t
=
InterpreterRuntime
::
SignatureHandlerGenerator
::
temp
();
// rcx|rscratch1
const
Address
constMethod
(
method
,
Method
::
const_offset
());
const
Address
size_of_parameters
(
t
,
ConstMethod
::
size_of_parameters_offset
());
// allocate space for parameters
// allocate space for parameters
__
movptr
(
method
,
STATE
(
_method
));
__
movptr
(
method
,
STATE
(
_method
));
__
verify_method_ptr
(
method
);
__
verify_method_ptr
(
method
);
__
load_unsigned_short
(
t
,
Address
(
method
,
Method
::
size_of_parameters_offset
()));
__
movptr
(
t
,
constMethod
);
__
load_unsigned_short
(
t
,
size_of_parameters
);
__
shll
(
t
,
2
);
__
shll
(
t
,
2
);
#ifdef _LP64
#ifdef _LP64
__
subptr
(
rsp
,
t
);
__
subptr
(
rsp
,
t
);
...
@@ -1700,15 +1703,17 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -1700,15 +1703,17 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
// save sender sp
// save sender sp
__
push
(
rcx
);
__
push
(
rcx
);
const
Address
size_of_parameters
(
rbx
,
Method
::
size_of_parameters_offset
());
const
Address
constMethod
(
rbx
,
Method
::
const_offset
());
const
Address
size_of_locals
(
rbx
,
Method
::
size_of_locals_offset
());
const
Address
access_flags
(
rbx
,
Method
::
access_flags_offset
());
const
Address
access_flags
(
rbx
,
Method
::
access_flags_offset
());
const
Address
size_of_parameters
(
rdx
,
ConstMethod
::
size_of_parameters_offset
());
const
Address
size_of_locals
(
rdx
,
ConstMethod
::
size_of_locals_offset
());
// const Address monitor_block_top (rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize);
// const Address monitor_block_top (rbp, frame::interpreter_frame_monitor_block_top_offset * wordSize);
// const Address monitor_block_bot (rbp, frame::interpreter_frame_initial_sp_offset * wordSize);
// const Address monitor_block_bot (rbp, frame::interpreter_frame_initial_sp_offset * wordSize);
// const Address monitor(rbp, frame::interpreter_frame_initial_sp_offset * wordSize - (int)sizeof(BasicObjectLock));
// const Address monitor(rbp, frame::interpreter_frame_initial_sp_offset * wordSize - (int)sizeof(BasicObjectLock));
// get parameter size (always needed)
// get parameter size (always needed)
__
movptr
(
rdx
,
constMethod
);
__
load_unsigned_short
(
rcx
,
size_of_parameters
);
__
load_unsigned_short
(
rcx
,
size_of_parameters
);
// rbx: Method*
// rbx: Method*
...
@@ -1989,7 +1994,9 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -1989,7 +1994,9 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
__
movptr
(
rbx
,
STATE
(
_result
.
_to_call
.
_callee
));
__
movptr
(
rbx
,
STATE
(
_result
.
_to_call
.
_callee
));
// callee left args on top of expression stack, remove them
// callee left args on top of expression stack, remove them
__
load_unsigned_short
(
rcx
,
Address
(
rbx
,
Method
::
size_of_parameters_offset
()));
__
movptr
(
rcx
,
constMethod
);
__
load_unsigned_short
(
rcx
,
Address
(
rcx
,
ConstMethod
::
size_of_parameters_offset
()));
__
lea
(
rsp
,
Address
(
rsp
,
rcx
,
Address
::
times_ptr
));
__
lea
(
rsp
,
Address
(
rsp
,
rcx
,
Address
::
times_ptr
));
__
movl
(
rcx
,
Address
(
rbx
,
Method
::
result_index_offset
()));
__
movl
(
rcx
,
Address
(
rbx
,
Method
::
result_index_offset
()));
...
@@ -2159,7 +2166,9 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
...
@@ -2159,7 +2166,9 @@ address InterpreterGenerator::generate_normal_entry(bool synchronized) {
// Make it look like call_stub calling conventions
// Make it look like call_stub calling conventions
// Get (potential) receiver
// Get (potential) receiver
__
load_unsigned_short
(
rcx
,
size_of_parameters
);
// get size of parameters in words
// get size of parameters in words
__
movptr
(
rcx
,
constMethod
);
__
load_unsigned_short
(
rcx
,
Address
(
rcx
,
ConstMethod
::
size_of_parameters_offset
()));
ExternalAddress
recursive
(
CAST_FROM_FN_PTR
(
address
,
RecursiveInterpreterActivation
));
ExternalAddress
recursive
(
CAST_FROM_FN_PTR
(
address
,
RecursiveInterpreterActivation
));
__
pushptr
(
recursive
.
addr
());
// make it look good in the debugger
__
pushptr
(
recursive
.
addr
());
// make it look good in the debugger
...
...
src/cpu/x86/vm/macroAssembler_x86.cpp
浏览文件 @
4f9f4521
...
@@ -1023,7 +1023,7 @@ void MacroAssembler::lea(Address dst, AddressLiteral adr) {
...
@@ -1023,7 +1023,7 @@ void MacroAssembler::lea(Address dst, AddressLiteral adr) {
void
MacroAssembler
::
leave
()
{
void
MacroAssembler
::
leave
()
{
// %%% is this really better? Why not on 32bit too?
// %%% is this really better? Why not on 32bit too?
emit_
byte
(
0xC9
);
// LEAVE
emit_
int8
((
unsigned
char
)
0xC9
);
// LEAVE
}
}
void
MacroAssembler
::
lneg
(
Register
hi
,
Register
lo
)
{
void
MacroAssembler
::
lneg
(
Register
hi
,
Register
lo
)
{
...
@@ -2112,11 +2112,11 @@ void MacroAssembler::fat_nop() {
...
@@ -2112,11 +2112,11 @@ void MacroAssembler::fat_nop() {
if
(
UseAddressNop
)
{
if
(
UseAddressNop
)
{
addr_nop_5
();
addr_nop_5
();
}
else
{
}
else
{
emit_
byte
(
0x26
);
// es:
emit_
int8
(
0x26
);
// es:
emit_
byte
(
0x2e
);
// cs:
emit_
int8
(
0x2e
);
// cs:
emit_
byte
(
0x64
);
// fs:
emit_
int8
(
0x64
);
// fs:
emit_
byte
(
0x65
);
// gs:
emit_
int8
(
0x65
);
// gs:
emit_
byte
(
0x90
);
emit_
int8
((
unsigned
char
)
0x90
);
}
}
}
}
...
@@ -2534,12 +2534,12 @@ void MacroAssembler::jump_cc(Condition cc, AddressLiteral dst) {
...
@@ -2534,12 +2534,12 @@ void MacroAssembler::jump_cc(Condition cc, AddressLiteral dst) {
int
offs
=
(
intptr_t
)
dst
.
target
()
-
((
intptr_t
)
pc
());
int
offs
=
(
intptr_t
)
dst
.
target
()
-
((
intptr_t
)
pc
());
if
(
dst
.
reloc
()
==
relocInfo
::
none
&&
is8bit
(
offs
-
short_size
))
{
if
(
dst
.
reloc
()
==
relocInfo
::
none
&&
is8bit
(
offs
-
short_size
))
{
// 0111 tttn #8-bit disp
// 0111 tttn #8-bit disp
emit_
byte
(
0x70
|
cc
);
emit_
int8
(
0x70
|
cc
);
emit_
byte
((
offs
-
short_size
)
&
0xFF
);
emit_
int8
((
offs
-
short_size
)
&
0xFF
);
}
else
{
}
else
{
// 0000 1111 1000 tttn #32-bit disp
// 0000 1111 1000 tttn #32-bit disp
emit_
byte
(
0x0F
);
emit_
int8
(
0x0F
);
emit_
byte
(
0x80
|
cc
);
emit_
int8
((
unsigned
char
)(
0x80
|
cc
)
);
emit_long
(
offs
-
long_size
);
emit_long
(
offs
-
long_size
);
}
}
}
else
{
}
else
{
...
@@ -3085,7 +3085,8 @@ void MacroAssembler::xorps(XMMRegister dst, AddressLiteral src) {
...
@@ -3085,7 +3085,8 @@ void MacroAssembler::xorps(XMMRegister dst, AddressLiteral src) {
void
MacroAssembler
::
pshufb
(
XMMRegister
dst
,
AddressLiteral
src
)
{
void
MacroAssembler
::
pshufb
(
XMMRegister
dst
,
AddressLiteral
src
)
{
// Used in sign-bit flipping with aligned address.
// Used in sign-bit flipping with aligned address.
assert
((
UseAVX
>
0
)
||
(((
intptr_t
)
src
.
target
()
&
15
)
==
0
),
"SSE mode requires address alignment 16 bytes"
);
bool
aligned_adr
=
(((
intptr_t
)
src
.
target
()
&
15
)
==
0
);
assert
((
UseAVX
>
0
)
||
aligned_adr
,
"SSE mode requires address alignment 16 bytes"
);
if
(
reachable
(
src
))
{
if
(
reachable
(
src
))
{
Assembler
::
pshufb
(
dst
,
as_Address
(
src
));
Assembler
::
pshufb
(
dst
,
as_Address
(
src
));
}
else
{
}
else
{
...
...
src/cpu/x86/vm/macroAssembler_x86.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/methodHandles_x86.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/stubGenerator_x86_32.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/stubGenerator_x86_64.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/templateInterpreter_x86_32.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/templateInterpreter_x86_64.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/x86/vm/vm_version_x86.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/zero/vm/assembler_zero.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/cpu/zero/vm/assembler_zero.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os/bsd/vm/os_bsd.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os/linux/vm/os_linux.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os/posix/vm/os_posix.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os/solaris/vm/os_solaris.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os/windows/vm/os_windows.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/tools/ProjectCreator/ProjectCreator.java
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/asm/assembler.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/asm/assembler.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/asm/codeBuffer.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/c1/c1_GraphBuilder.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/c1/c1_LIRGenerator.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/ci/ciField.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/classFileParser.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/classFileParser.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/classLoaderData.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/classLoaderData.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/javaClasses.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/javaClasses.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/symbolTable.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/classfile/vmSymbols.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/compiler/compileBroker.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/compiler/compilerOracle.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/gc_implementation/g1/concurrentMark.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/gc_implementation/g1/concurrentMark.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/gc_implementation/parallelScavenge/adjoiningVirtualSpaces.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/gc_implementation/shared/gcStats.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/interpreter/rewriter.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/interpreter/rewriter.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/memory/allocation.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/memory/filemap.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/memory/metaspace.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/memory/metaspace.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/memory/metaspaceShared.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/annotations.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/annotations.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/constMethod.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/instanceKlass.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/instanceKlass.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/klass.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/method.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/oops/method.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/addnode.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/bytecodeInfo.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/callGenerator.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/callGenerator.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/callnode.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/cfgnode.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/compile.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/compile.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/doCall.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/graphKit.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/library_call.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/node.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/parse3.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/runtime.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/runtime.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/opto/stringopts.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/prims/jvm.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/prims/jvm.h
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/prims/jvmtiRedefineClasses.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/prims/methodHandles.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/prims/unsafe.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/arguments.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/fieldDescriptor.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/fieldDescriptor.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/globals.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/handles.inline.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/os.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/reflection.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/thread.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/virtualspace.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/runtime/vmStructs.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/services/memBaseline.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/services/nmtDCmd.cpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/utilities/workgroup.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
src/share/vm/utilities/yieldingWorkgroup.hpp
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
test/compiler/7184394/TestAESBase.java
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
test/compiler/7184394/TestAESMain.java
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
test/compiler/8004741/Test8004741.java
0 → 100644
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
test/compiler/8005033/Test8005033.java
0 → 100644
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
test/sanity/ExecuteInternalVMTests.java
0 → 100644
浏览文件 @
4f9f4521
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录