Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
19ea47ba
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
19ea47ba
编写于
12月 21, 2012
作者:
A
amurillo
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
7498491e
d01f510b
变更
105
展开全部
隐藏空白更改
内联
并排
Showing
105 changed file
with
1806 addition
and
1517 deletion
+1806
-1517
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/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/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/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/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/sparc.ad
src/cpu/sparc/vm/sparc.ad
+8
-6
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
+1
-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/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/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/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/posix/vm/os_posix.cpp
src/os/posix/vm/os_posix.cpp
+41
-0
src/os/windows/vm/os_windows.cpp
src/os/windows/vm/os_windows.cpp
+30
-0
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/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/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/vmSymbols.hpp
src/share/vm/classfile/vmSymbols.hpp
+15
-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/memory/allocation.hpp
src/share/vm/memory/allocation.hpp
+2
-2
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/oops/instanceKlass.hpp
src/share/vm/oops/instanceKlass.hpp
+6
-0
src/share/vm/oops/klass.hpp
src/share/vm/oops/klass.hpp
+2
-0
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/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/globals.hpp
src/share/vm/runtime/globals.hpp
+3
-0
src/share/vm/runtime/os.hpp
src/share/vm/runtime/os.hpp
+1
-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/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
未找到文件。
make/bsd/Makefile
浏览文件 @
19ea47ba
...
...
@@ -47,10 +47,10 @@
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# 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
# 2. libsa
[_g].so
- Native library for SA - This is built after
# libjsig
[_g]
.so (signal interposition library)
# 2. libsa
.so
- Native library for SA - This is built after
# libjsig.so (signal interposition library)
# Please refer to ./makefiles/vm.make
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
...
...
@@ -181,9 +181,9 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
#
# 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
# 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
# profiled* - gprof
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
...
...
make/bsd/makefiles/buildtree.make
浏览文件 @
19ea47ba
...
...
@@ -449,12 +449,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
echo
" exit 0"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
"# Use gamma_g if it exists"
;
\
echo
""
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"if [ -f gamma_g ]; then "
;
\
echo
" GAMMA_PROG=gamma_g"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
...
...
make/bsd/makefiles/debug.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -38,7 +38,6 @@ _JUNK_ := $(shell echo -e >&2 ""\
"Please use 'make jvmg' to build debug JVM.
\n
"
\
"----------------------------------------------------------------------
\n
"
)
G_SUFFIX
=
_g
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
make/bsd/makefiles/dtrace.make
浏览文件 @
19ea47ba
...
...
@@ -38,12 +38,10 @@ DtraceOutDir = $(GENERATED)/dtracefiles
# Bsd does not build libjvm_db, does not compile on macosx
# disabled in build: rule in vm.make
JVM_DB
=
libjvm_db
#LIBJVM_DB = libjvm_db.dylib
LIBJVM_DB
=
libjvm
$(G_SUFFIX)
_db.dylib
LIBJVM_DB
=
libjvm_db.dylib
JVM_DTRACE
=
jvm_dtrace
#LIBJVM_DTRACE = libjvm_dtrace.dylib
LIBJVM_DTRACE
=
libjvm
$(G_SUFFIX)
_dtrace.dylib
LIBJVM_DTRACE
=
libjvm_dtrace.dylib
JVMOFFS
=
JvmOffsets
JVMOFFS.o
=
$(JVMOFFS)
.o
...
...
@@ -80,9 +78,7 @@ ISA = $(subst i386,i486,$(BUILDARCH))
ifneq
("${ISA}","${BUILDARCH}")
XLIBJVM_DB
=
64/
$(LIBJVM_DB)
XLIBJVM_DB_G
=
64/
$(LIBJVM_DB_G)
XLIBJVM_DTRACE
=
64/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE_G
=
64/
$(LIBJVM_DTRACE_G)
XARCH
=
$(
subst
sparcv9,v9,
$(
shell
echo
$(ISA)
))
$(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/
;
\
$(CC)
$(SYMFLAG)
-xarch
=
$(XARCH)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(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)
@
echo
Making
$@
$(QUIETLY)
mkdir
-p
64/
;
\
$(CC)
$(SYMFLAG)
-xarch
=
$(XARCH)
-D
$(TYPE)
-I
.
\
$(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}")
...
...
@@ -141,13 +135,11 @@ $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_D
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(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)
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(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_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
...
...
make/bsd/makefiles/fastdebug.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -58,7 +58,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
optimized
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
PICFLAGS
=
DEFAULT
make/bsd/makefiles/gcc.make
浏览文件 @
19ea47ba
...
...
@@ -284,9 +284,9 @@ endif
# 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
# 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.
# (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.
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
...
...
make/bsd/makefiles/jsig.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -24,16 +24,13 @@
# Rules to build signal interposition library, used by vm.make
# libjsig
[_g]
.so: signal interposition library
# libjsig.so: signal interposition library
JSIG
=
jsig
JSIG_G
=
$(JSIG)$(G_SUFFIX)
ifeq
($(OS_VENDOR), Darwin)
LIBJSIG
=
lib
$(JSIG)
.dylib
LIBJSIG_G
=
lib
$(JSIG_G)
.dylib
else
LIBJSIG
=
lib
$(JSIG)
.so
LIBJSIG_G
=
lib
$(JSIG_G)
.so
endif
JSIGSRCDIR
=
$(GAMMADIR)
/src/os/
$(Platform_os_family)
/vm
...
...
@@ -58,7 +55,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
@
echo
Making signal interposition lib...
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
$(QUIETLY)
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
install_jsig
:
$(LIBJSIG)
@
echo
"Copying
$(LIBJSIG)
to
$(DEST_JSIG)
"
...
...
make/bsd/makefiles/jvmg.make
浏览文件 @
19ea47ba
...
...
@@ -37,7 +37,6 @@ CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
make/bsd/makefiles/optimized.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -40,5 +40,4 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-debug
G_SUFFIX
=
VERSION
=
optimized
make/bsd/makefiles/product.make
浏览文件 @
19ea47ba
...
...
@@ -40,7 +40,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/bsd/makefiles/mapfile-vers-product
G_SUFFIX
=
SYSDEFS
+=
-DPRODUCT
VERSION
=
optimized
...
...
make/bsd/makefiles/saproc.make
浏览文件 @
19ea47ba
...
...
@@ -24,16 +24,13 @@
# Rules to build serviceability agent library, used by vm.make
# libsaproc
[_g]
.so: serviceability agent
# libsaproc.so: serviceability agent
SAPROC
=
saproc
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
ifeq
($(OS_VENDOR), Darwin)
LIBSAPROC
=
lib
$(SAPROC)
.dylib
LIBSAPROC_G
=
lib
$(SAPROC_G)
.dylib
else
LIBSAPROC
=
lib
$(SAPROC)
.so
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
endif
AGENT_DIR
=
$(GAMMADIR)
/agent
...
...
@@ -114,7 +111,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
$(SA_DEBUG_CFLAGS)
\
-o
$@
\
$(SALIBS)
$(QUIETLY)
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
install_saproc
:
$(BUILDLIBSAPROC)
$(QUIETLY)
if
[
-e
$(LIBSAPROC)
]
;
then
\
...
...
make/bsd/makefiles/vm.make
浏览文件 @
19ea47ba
...
...
@@ -138,11 +138,9 @@ include $(MAKEFILES_DIR)/dtrace.make
JVM
=
jvm
ifeq
($(OS_VENDOR), Darwin)
LIBJVM
=
lib
$(JVM)
.dylib
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.dylib
CFLAGS
+=
-D_XOPEN_SOURCE
-D_DARWIN_C_SOURCE
else
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
endif
SPECIAL_PATHS
:=
adlc c1 gc_implementation opto shark libadt
...
...
@@ -314,7 +312,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
;
\
$
(
LINK_LIB.CXX/POST_HOOK
)
\
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)
...
...
make/hotspot_version
浏览文件 @
19ea47ba
...
...
@@ -35,7 +35,7 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2012
HS_MAJOR_VER=25
HS_MINOR_VER=0
HS_BUILD_NUMBER=1
3
HS_BUILD_NUMBER=1
4
JDK_MAJOR_VER=1
JDK_MINOR_VER=8
...
...
make/linux/Makefile
浏览文件 @
19ea47ba
...
...
@@ -47,10 +47,10 @@
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# 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
# 2. libsa
[_g].so
- Native library for SA - This is built after
# libjsig
[_g]
.so (signal interposition library)
# 2. libsa
.so
- Native library for SA - This is built after
# libjsig.so (signal interposition library)
# Please refer to ./makefiles/vm.make
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
...
...
@@ -181,9 +181,9 @@ VARIANTARCH = $(subst i386,i486,$(ZERO_LIBARCH))
#
# 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
# 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
# profiled* - gprof
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
...
...
make/linux/makefiles/buildtree.make
浏览文件 @
19ea47ba
...
...
@@ -442,12 +442,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
echo
" exit 0"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
"# Use gamma_g if it exists"
;
\
echo
""
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"if [ -f gamma_g ]; then "
;
\
echo
" GAMMA_PROG=gamma_g"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
...
...
make/linux/makefiles/debug.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -38,7 +38,6 @@ _JUNK_ := $(shell echo -e >&2 ""\
"Please use 'make jvmg' to build debug JVM.
\n
"
\
"----------------------------------------------------------------------
\n
"
)
G_SUFFIX
=
_g
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
make/linux/makefiles/fastdebug.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -58,7 +58,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
optimized
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
PICFLAGS
=
DEFAULT
make/linux/makefiles/gcc.make
浏览文件 @
19ea47ba
...
...
@@ -229,9 +229,9 @@ ifeq ($(DEBUG_BINARIES), true)
else
# 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
# 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.
# (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.
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
...
...
make/linux/makefiles/jsig.make
浏览文件 @
19ea47ba
...
...
@@ -24,17 +24,12 @@
# Rules to build signal interposition library, used by vm.make
# libjsig
[_g]
.so: signal interposition library
# libjsig.so: signal interposition library
JSIG
=
jsig
LIBJSIG
=
lib
$(JSIG)
.so
JSIG_G
=
$(JSIG)$(G_SUFFIX)
LIBJSIG_G
=
lib
$(JSIG_G)
.so
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
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
...
...
@@ -60,7 +55,6 @@ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
@
echo
Making signal interposition lib...
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
$(JSIG_DEBUG_CFLAGS)
-o
$@
$<
-ldl
$(QUIETLY)
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBJSIG_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBJSIG_DEBUGINFO)
$@
...
...
@@ -72,11 +66,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJSIG_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
[
-f
$(LIBJSIG_G_DIZ)
]
||
{
ln
-s
$(LIBJSIG_DIZ)
$(LIBJSIG_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
endif
endif
...
...
make/linux/makefiles/jvmg.make
浏览文件 @
19ea47ba
...
...
@@ -37,7 +37,6 @@ CFLAGS += $(DEBUG_CFLAGS/BYFILE) -D_NMT_NOINLINE_
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
G_SUFFIX
=
_g
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
make/linux/makefiles/optimized.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -40,5 +40,4 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-debug
G_SUFFIX
=
VERSION
=
optimized
make/linux/makefiles/product.make
浏览文件 @
19ea47ba
...
...
@@ -40,7 +40,6 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
# Linker mapfile
MAPFILE
=
$(GAMMADIR)
/make/linux/makefiles/mapfile-vers-product
G_SUFFIX
=
SYSDEFS
+=
-DPRODUCT
VERSION
=
optimized
...
...
make/linux/makefiles/saproc.make
浏览文件 @
19ea47ba
...
...
@@ -26,18 +26,13 @@ include $(GAMMADIR)/make/altsrc.make
# Rules to build serviceability agent library, used by vm.make
# libsaproc
[_g]
.so: serviceability agent
# libsaproc.so: serviceability agent
SAPROC
=
saproc
LIBSAPROC
=
lib
$(SAPROC)
.so
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_DIZ
=
lib
$(SAPROC)
.diz
LIBSAPROC_G_DEBUGINFO
=
lib
$(SAPROC_G)
.debuginfo
LIBSAPROC_G_DIZ
=
lib
$(SAPROC_G)
.diz
AGENT_DIR
=
$(GAMMADIR)
/agent
...
...
@@ -99,7 +94,6 @@ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
$(SA_DEBUG_CFLAGS)
\
-o
$@
\
-lthread_db
$(QUIETLY)
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
$(QUIETLY)
$(OBJCOPY)
--only-keep-debug
$@
$(LIBSAPROC_DEBUGINFO)
$(QUIETLY)
$(OBJCOPY)
--add-gnu-debuglink
=
$(LIBSAPROC_DEBUGINFO)
$@
...
...
@@ -111,11 +105,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBSAPROC_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
[
-f
$(LIBSAPROC_G_DIZ)
]
||
{
ln
-s
$(LIBSAPROC_DIZ)
$(LIBSAPROC_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
endif
endif
...
...
make/linux/makefiles/vm.make
浏览文件 @
19ea47ba
...
...
@@ -138,12 +138,9 @@ include $(MAKEFILES_DIR)/dtrace.make
JVM
=
jvm
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
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
...
...
@@ -323,7 +320,6 @@ $(LIBJVM): $(LIBJVM.o) $(LIBJVM_MAPFILE) $(LD_SCRIPT)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
;
\
$
(
LINK_LIB.CXX/POST_HOOK
)
\
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
[
-x
/usr/sbin/selinuxenabled
]
;
then
\
/usr/sbin/selinuxenabled
;
\
...
...
@@ -348,11 +344,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
$(QUIETLY)
[
-f
$(LIBJVM_G_DEBUGINFO)
]
||
ln
-s
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
[
-f
$(LIBJVM_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DIZ)
$(LIBJVM_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
endif
endif
...
...
make/solaris/Makefile
浏览文件 @
19ea47ba
...
...
@@ -38,10 +38,10 @@
# Along with VM, Serviceability Agent (SA) is built for SA/JDI binding.
# 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
# 2. libsaproc
[_g].so
- Native library for SA - This is built after
# libjsig
[_g]
.so (signal interposition library)
# 2. libsaproc
.so
- Native library for SA - This is built after
# libjsig.so (signal interposition library)
# Please refer to ./makefiles/vm.make
# If $(GAMMADIR)/agent dir is not present, SA components are not built.
...
...
@@ -141,9 +141,9 @@ endif
#
# 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
# 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
# profiled* - gprof
# product* - the shippable thing: optimized compile, no asserts, -DPRODUCT
...
...
make/solaris/makefiles/buildtree.make
浏览文件 @
19ea47ba
...
...
@@ -436,12 +436,7 @@ test_gamma: $(BUILDTREE_MAKE) $(GAMMADIR)/make/test/Queens.java
echo
" exit 0"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
"# Use gamma_g if it exists"
;
\
echo
""
;
\
echo
"GAMMA_PROG=gamma"
;
\
echo
"if [ -f gamma_g ]; then "
;
\
echo
" GAMMA_PROG=gamma_g"
;
\
echo
"fi"
;
\
echo
""
;
\
echo
"if [
\"
$(OS_VENDOR)
\"
=
\"
Darwin
\"
]; then "
;
\
echo
" # Ensure architecture for gamma and JAVA_HOME is the same."
;
\
...
...
make/solaris/makefiles/debug.make
浏览文件 @
19ea47ba
#
# 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.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -53,7 +53,6 @@ _JUNK_ := $(shell echo >&2 ""\
"Please use 'gnumake jvmg' to build debug JVM.
\n
"
\
"-------------------------------------------------------------------------
\n
"
)
G_SUFFIX
=
_g
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
make/solaris/makefiles/dtrace.make
浏览文件 @
19ea47ba
...
...
@@ -39,21 +39,15 @@ else
JVM_DB
=
libjvm_db
LIBJVM_DB
=
libjvm_db.so
LIBJVM_DB_G
=
libjvm
$(G_SUFFIX)
_db.so
LIBJVM_DB_DEBUGINFO
=
libjvm_db.debuginfo
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
LIBJVM_DTRACE
=
libjvm_dtrace.so
LIBJVM_DTRACE_G
=
libjvm
$(G_SUFFIX)
_dtrace.so
LIBJVM_DTRACE_DEBUGINFO
=
libjvm_dtrace.debuginfo
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.o
=
$(JVMOFFS)
.o
...
...
@@ -96,25 +90,18 @@ ifneq ("${ISA}","${BUILDARCH}")
XLIBJVM_DIR
=
64
XLIBJVM_DB
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB)
XLIBJVM_DB_G
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_G)
XLIBJVM_DTRACE
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE)
XLIBJVM_DTRACE_G
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DTRACE_G)
XLIBJVM_DB_DEBUGINFO
=
$(XLIBJVM_DIR)
/
$(LIBJVM_DB_DEBUGINFO)
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_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)
@
echo
Making
$@
$(QUIETLY)
mkdir
-p
$(XLIBJVM_DIR)
;
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(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)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
...
...
@@ -137,13 +124,11 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(XLIBJVM_DB_G_DEBUGINFO)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
# in the archived name:
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO)
)
$(RM)
$(XLIBJVM_DB_DEBUGINFO)
$(XLIBJVM_DB_G_DEBUGINFO)
[
-f
$(XLIBJVM_DB_G_DIZ)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_G_DIZ);
}
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
)
$(RM)
$(XLIBJVM_DB_DEBUGINFO)
endif
endif
...
...
@@ -152,7 +137,6 @@ $(XLIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCD
$(QUIETLY)
mkdir
-p
$(XLIBJVM_DIR)
;
\
$(CC)
$(SYMFLAG)
$
(
ARCHFLAG/
$(ISA)
)
-D
$(TYPE)
-I
.
\
$(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)
# Clear the SHF_ALLOC flag (if set) from empty section headers.
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
...
...
@@ -170,13 +154,11 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(XLIBJVM_DTRACE_G_DEBUGINFO)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR) is not
# in the archived name:
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO)
)
$(RM)
$(XLIBJVM_DTRACE_DEBUGINFO)
$(XLIBJVM_DTRACE_G_DEBUGINFO)
[
-f
$(XLIBJVM_DTRACE_G_DIZ)
]
||
{
cd
$(XLIBJVM_DIR)
&&
ln
-s
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_G_DIZ);
}
(
cd
$(XLIBJVM_DIR)
&&
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO))
$(RM)
$(XLIBJVM_DTRACE_DEBUGINFO)
endif
endif
...
...
@@ -224,7 +206,6 @@ $(LIBJVM_DB): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDIR)/$
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
-I
$(GENERATED)
\
$(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)
# Clear the SHF_ALLOC flag (if set) from empty section headers.
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
...
...
@@ -240,11 +221,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJVM_DB_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO)
$(RM)
$(LIBJVM_DB_DEBUGINFO)
$(LIBJVM_DB_G_DEBUGINFO)
[
-f
$(LIBJVM_DB_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBJVM_DB_DIZ)
$(LIBJVM_DB_DEBUGINFO)
$(RM)
$(LIBJVM_DB_DEBUGINFO)
endif
endif
...
...
@@ -252,7 +231,6 @@ $(LIBJVM_DTRACE): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(DTRACE_SRCDI
@
echo
Making
$@
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
-D
$(TYPE)
-I
.
\
$(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)
# Clear the SHF_ALLOC flag (if set) from empty section headers.
$(QUIETLY)
$(FIX_EMPTY_SEC_HDR_FLAGS)
$@
...
...
@@ -268,11 +246,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJVM_DTRACE_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO)
$(RM)
$(LIBJVM_DTRACE_DEBUGINFO)
$(LIBJVM_DTRACE_G_DEBUGINFO)
[
-f
$(LIBJVM_DTRACE_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBJVM_DTRACE_DIZ)
$(LIBJVM_DTRACE_DEBUGINFO)
$(RM)
$(LIBJVM_DTRACE_DEBUGINFO)
endif
endif
...
...
make/solaris/makefiles/fastdebug.make
浏览文件 @
19ea47ba
...
...
@@ -122,7 +122,6 @@ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
# and mustn't be otherwise.
MAPFILE_DTRACE
=
$(GAMMADIR)
/make/solaris/makefiles/mapfile-vers-
$(TYPE)
G_SUFFIX
=
_g
VERSION
=
optimized
SYSDEFS
+=
-DASSERT
-DFASTDEBUG
-DCHECK_UNHANDLED_OOPS
PICFLAGS
=
DEFAULT
make/solaris/makefiles/gcc.make
浏览文件 @
19ea47ba
...
...
@@ -187,9 +187,9 @@ SHARED_FLAG = -shared
# 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
# 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.
# (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.
DEBUG_CFLAGS/
ia64
=
-g
DEBUG_CFLAGS/
amd64
=
-g
...
...
make/solaris/makefiles/jsig.make
浏览文件 @
19ea47ba
...
...
@@ -24,17 +24,12 @@
# Rules to build signal interposition library, used by vm.make
# libjsig
[_g]
.so: signal interposition library
# libjsig.so: signal interposition library
JSIG
=
jsig
LIBJSIG
=
lib
$(JSIG)
.so
JSIG_G
=
$(JSIG)$(G_SUFFIX)
LIBJSIG_G
=
lib
$(JSIG_G)
.so
LIBJSIG_DEBUGINFO
=
lib
$(JSIG)
.debuginfo
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
...
...
@@ -56,7 +51,6 @@ $(LIBJSIG): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(JSIGSRCDIR)/jsig.c
@
echo
Making signal interposition lib...
$(QUIETLY)
$(CC)
$(SYMFLAG)
$(ARCHFLAG)
$(SHARED_FLAG)
$(PICFLAG)
\
$(LFLAGS_JSIG)
-o
$@
$(JSIGSRCDIR)
/jsig.c
-ldl
[
-f
$(LIBJSIG_G)
]
||
{
ln
-s
$@
$(LIBJSIG_G)
;
}
ifeq
($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
...
...
@@ -77,11 +71,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBJSIG_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
$(LIBJSIG_G_DEBUGINFO)
[
-f
$(LIBJSIG_G_DIZ)
]
||
{
ln
-s
$(LIBJSIG_DIZ)
$(LIBJSIG_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBJSIG_DIZ)
$(LIBJSIG_DEBUGINFO)
$(RM)
$(LIBJSIG_DEBUGINFO)
endif
endif
...
...
make/solaris/makefiles/jvmg.make
浏览文件 @
19ea47ba
...
...
@@ -51,7 +51,6 @@ MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
# and mustn't be otherwise.
MAPFILE_DTRACE
=
$(GAMMADIR)
/make/solaris/makefiles/mapfile-vers-
$(TYPE)
G_SUFFIX
=
_g
VERSION
=
debug
SYSDEFS
+=
-DASSERT
-DDEBUG
PICFLAGS
=
DEFAULT
make/solaris/makefiles/optimized.make
浏览文件 @
19ea47ba
...
...
@@ -62,5 +62,4 @@ MAPFILE_DTRACE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-$(TYPE)
# Set the environment variable HOTSPARC_GENERIC to "true"
# to inhibit the effect of the previous line on CFLAGS.
G_SUFFIX
=
VERSION
=
optimized
make/solaris/makefiles/product.make
浏览文件 @
19ea47ba
...
...
@@ -78,6 +78,5 @@ endif
# and this macro is not used.
# LINK_LIB.CXX/POST_HOOK += $(STRIP_LIB.CXX/POST_HOOK)
G_SUFFIX
=
SYSDEFS
+=
-DPRODUCT
VERSION
=
optimized
make/solaris/makefiles/saproc.make
浏览文件 @
19ea47ba
...
...
@@ -24,20 +24,15 @@
# Rules to build serviceability agent library, used by vm.make
# libsaproc
[_g]
.so: serviceability agent
# libsaproc.so: serviceability agent
SAPROC
=
saproc
SADIS
=
sadis
LIBSAPROC
=
lib
$(SAPROC)
.so
SADISOBJ
=
$(SADIS)
.o
SAPROC_G
=
$(SAPROC)$(G_SUFFIX)
LIBSAPROC_G
=
lib
$(SAPROC_G)
.so
LIBSAPROC_DEBUGINFO
=
lib
$(SAPROC)
.debuginfo
LIBSAPROC_DIZ
=
lib
$(SAPROC)
.diz
LIBSAPROC_G_DEBUGINFO
=
lib
$(SAPROC_G)
.debuginfo
LIBSAPROC_G_DIZ
=
lib
$(SAPROC_G)
.diz
AGENT_DIR
=
$(GAMMADIR)
/agent
...
...
@@ -113,7 +108,6 @@ $(LIBSAPROC): $(ADD_GNU_DEBUGLINK) $(FIX_EMPTY_SEC_HDR_FLAGS) $(SASRCFILES) $(SA
$(SA_LFLAGS)
\
-o
$@
\
-ldl
-ldemangle
-lthread
-lc
[
-f
$(LIBSAPROC_G)
]
||
{
ln
-s
$@
$(LIBSAPROC_G)
;
}
$(SADISOBJ)
:
$(SADISSRCFILES)
$(QUIETLY)
$(CC)
\
...
...
@@ -146,11 +140,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
[
-f
$(LIBSAPROC_G_DEBUGINFO)
]
||
{
ln
-s
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO);
}
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
$(LIBSAPROC_G_DEBUGINFO)
[
-f
$(LIBSAPROC_G_DIZ)
]
||
{
ln
-s
$(LIBSAPROC_DIZ)
$(LIBSAPROC_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBSAPROC_DIZ)
$(LIBSAPROC_DEBUGINFO)
$(RM)
$(LIBSAPROC_DEBUGINFO)
endif
endif
...
...
make/solaris/makefiles/vm.make
浏览文件 @
19ea47ba
...
...
@@ -157,12 +157,9 @@ include $(MAKEFILES_DIR)/fix_empty_sec_hdr_flags.make
JVM
=
jvm
LIBJVM
=
lib
$(JVM)
.so
LIBJVM_G
=
lib
$(JVM)$(G_SUFFIX)
.so
LIBJVM_DEBUGINFO
=
lib
$(JVM)
.debuginfo
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
...
...
@@ -291,8 +288,6 @@ ifeq ($(filter -sbfast -xsbfast, $(CFLAGS_BROWSE)),)
$(QUIETLY)
$(LINK_VM)
$(LFLAGS_VM)
-o
$@
$(
sort
$(LIBJVM.o)
)
$(LIBS_VM)
$(QUIETLY)
$
(
LINK_LIB.CXX/POST_HOOK
)
$(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)
# gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
# Clear the SHF_ALLOC flag (if set) from empty section headers.
...
...
@@ -313,11 +308,9 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
# implied else here is no stripping at all
endif
endif
$(QUIETLY)
[
-f
$(LIBJVM_G_DEBUGINFO)
]
||
ln
-s
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
ifeq
($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
$(LIBJVM_G_DEBUGINFO)
[
-f
$(LIBJVM_G_DIZ)
]
||
{
ln
-s
$(LIBJVM_DIZ)
$(LIBJVM_G_DIZ);
}
$(ZIPEXE)
-q
-y
$(LIBJVM_DIZ)
$(LIBJVM_DEBUGINFO)
$(RM)
$(LIBJVM_DEBUGINFO)
endif
endif
endif
# filter -sbfast -xsbfast
...
...
make/windows/build.make
浏览文件 @
19ea47ba
...
...
@@ -33,7 +33,7 @@
# SA components are built if BUILD_WIN_SA=1 is specified.
# See notes in README. This produces files:
# 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.
#
# Please refer to ./makefiles/sa.make
...
...
@@ -115,7 +115,7 @@ VARIANT_TEXT=Kernel
!
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.
# They are overridden by RE during the control builds.
#
...
...
@@ -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
# The product or release build is an optimized build, and is the default
...
...
make/windows/projectfiles/compiler2/ADLCompiler.dsp
浏览文件 @
19ea47ba
...
...
@@ -72,11 +72,11 @@ LINK32=link.exe
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /o".\adlc\Debug\adlc
_g
.bsc"
# ADD BSC32 /o".\adlc\Debug\adlc.bsc"
# SUBTRACT BSC32 /nologo
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 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
...
...
make/windows/projectfiles/tiered/ADLCompiler.dsp
浏览文件 @
19ea47ba
...
...
@@ -72,11 +72,11 @@ LINK32=link.exe
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /o".\adlc\Debug\adlc
_g
.bsc"
# ADD BSC32 /o".\adlc\Debug\adlc.bsc"
# SUBTRACT BSC32 /nologo
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 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
...
...
src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp
浏览文件 @
19ea47ba
...
...
@@ -298,7 +298,7 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
for
(
int
i
=
0
;
i
<
_bytes_to_copy
;
i
++
)
{
address
ptr
=
(
address
)(
_pc_start
+
i
);
int
a_byte
=
(
*
ptr
)
&
0xFF
;
__
a_byte
(
a_byte
);
__
emit_int8
(
a_byte
);
}
}
...
...
@@ -340,10 +340,10 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
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
__
a_byte
(
0
);
__
a_byte
(
being_initialized_entry_offset
);
__
a_byte
(
bytes_to_skip
);
__
a_byte
(
_bytes_to_copy
);
__
emit_int8
(
0
);
__
emit_int8
(
being_initialized_entry_offset
);
__
emit_int8
(
bytes_to_skip
);
__
emit_int8
(
_bytes_to_copy
);
address
patch_info_pc
=
__
pc
();
assert
(
patch_info_pc
-
end_of_patch
==
bytes_to_skip
,
"incorrect patch info"
);
...
...
src/cpu/sparc/vm/macroAssembler_sparc.cpp
浏览文件 @
19ea47ba
...
...
@@ -100,34 +100,6 @@ const char* Argument::name() const {
bool
AbstractAssembler
::
pd_check_instruction_mark
()
{
return
false
;
}
#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
// and return the resulting instruction.
// We should have pcs, not offsets, but since all is relative, it will work out
...
...
src/cpu/sparc/vm/macroAssembler_sparc.hpp
浏览文件 @
19ea47ba
...
...
@@ -603,7 +603,6 @@ class MacroAssembler : public Assembler {
friend
class
Label
;
protected:
static
void
print_instruction
(
int
inst
);
static
int
patched_branch
(
int
dest_pos
,
int
inst
,
int
inst_pos
);
static
int
branch_destination
(
int
inst
,
int
pos
);
...
...
@@ -759,9 +758,6 @@ class MacroAssembler : public Assembler {
// Required platform-specific helpers for Label::patch_instructions.
// They _shadow_ the declarations in AbstractAssembler, which are undefined.
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
private:
...
...
src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
浏览文件 @
19ea47ba
...
...
@@ -43,14 +43,6 @@ inline void MacroAssembler::pd_patch_instruction(address branch, address target)
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
inline
void
MacroAssembler
::
ld_ptr
(
Register
s1
,
Register
s2
,
Register
d
)
{
#ifdef _LP64
...
...
src/cpu/sparc/vm/sparc.ad
浏览文件 @
19ea47ba
...
...
@@ -10224,7 +10224,7 @@ instruct array_equals(o0RegP ary1, o1RegP ary2, g3RegI tmp1, notemp_iRegI result
//---------- 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
match(Set dst (CountLeadingZerosI src));
effect(TEMP dst, TEMP tmp, KILL cr);
...
...
@@ -10321,7 +10321,7 @@ instruct countLeadingZerosL(iRegIsafe dst, iRegL src, iRegL tmp, flagsReg cr) %{
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
match(Set dst (CountTrailingZerosI src));
effect(TEMP dst, KILL cr);
...
...
@@ -10364,19 +10364,21 @@ instruct countTrailingZerosL(iRegIsafe dst, iRegL src, flagsReg cr) %{
//---------- Population Count Instructions -------------------------------------
instruct popCountI(iRegI dst, iRegI src) %{
instruct popCountI(iRegI
safe
dst, iRegI src) %{
predicate(UsePopCountInstruction);
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 %{
__ popc($src$$Register, $dst$$Register);
__ srl($src$$Register, G0, $dst$$Register);
__ popc($dst$$Register, $dst$$Register);
%}
ins_pipe(ialu_reg);
%}
// Note: Long.bitCount(long) returns an int.
instruct popCountL(iRegI dst, iRegL src) %{
instruct popCountL(iRegI
safe
dst, iRegL src) %{
predicate(UsePopCountInstruction);
match(Set dst (PopCountL src));
...
...
src/cpu/sparc/vm/templateInterpreter_sparc.cpp
浏览文件 @
19ea47ba
...
...
@@ -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 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
...
...
src/cpu/x86/vm/assembler_x86.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/cpu/x86/vm/c1_CodeStubs_x86.cpp
浏览文件 @
19ea47ba
...
...
@@ -313,10 +313,10 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
#endif
}
else
{
// 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
);
int
a_byte
=
(
*
ptr
)
&
0xFF
;
__
a_byte
(
a_byte
);
__
emit_int8
(
a_byte
);
*
ptr
=
0x90
;
// make the site look like a nop
}
}
...
...
@@ -363,11 +363,11 @@ void PatchingStub::emit_code(LIR_Assembler* ce) {
// emit the offsets needed to find the code to patch
int
being_initialized_entry_offset
=
__
pc
()
-
being_initialized_entry
+
sizeof_patch_record
;
__
a_byte
(
0xB8
);
__
a_byte
(
0
);
__
a_byte
(
being_initialized_entry_offset
);
__
a_byte
(
bytes_to_skip
);
__
a_byte
(
_bytes_to_copy
);
__
emit_int8
((
unsigned
char
)
0xB8
);
__
emit_int8
(
0
);
__
emit_int8
(
being_initialized_entry_offset
);
__
emit_int8
(
bytes_to_skip
);
__
emit_int8
(
_bytes_to_copy
);
address
patch_info_pc
=
__
pc
();
assert
(
patch_info_pc
-
end_of_patch
==
bytes_to_skip
,
"incorrect patch info"
);
...
...
src/cpu/x86/vm/macroAssembler_x86.cpp
浏览文件 @
19ea47ba
...
...
@@ -1023,7 +1023,7 @@ void MacroAssembler::lea(Address dst, AddressLiteral adr) {
void
MacroAssembler
::
leave
()
{
// %%% 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
)
{
...
...
@@ -2112,11 +2112,11 @@ void MacroAssembler::fat_nop() {
if
(
UseAddressNop
)
{
addr_nop_5
();
}
else
{
emit_
byte
(
0x26
);
// es:
emit_
byte
(
0x2e
);
// cs:
emit_
byte
(
0x64
);
// fs:
emit_
byte
(
0x65
);
// gs:
emit_
byte
(
0x90
);
emit_
int8
(
0x26
);
// es:
emit_
int8
(
0x2e
);
// cs:
emit_
int8
(
0x64
);
// fs:
emit_
int8
(
0x65
);
// gs:
emit_
int8
((
unsigned
char
)
0x90
);
}
}
...
...
@@ -2534,12 +2534,12 @@ void MacroAssembler::jump_cc(Condition cc, AddressLiteral dst) {
int
offs
=
(
intptr_t
)
dst
.
target
()
-
((
intptr_t
)
pc
());
if
(
dst
.
reloc
()
==
relocInfo
::
none
&&
is8bit
(
offs
-
short_size
))
{
// 0111 tttn #8-bit disp
emit_
byte
(
0x70
|
cc
);
emit_
byte
((
offs
-
short_size
)
&
0xFF
);
emit_
int8
(
0x70
|
cc
);
emit_
int8
((
offs
-
short_size
)
&
0xFF
);
}
else
{
// 0000 1111 1000 tttn #32-bit disp
emit_
byte
(
0x0F
);
emit_
byte
(
0x80
|
cc
);
emit_
int8
(
0x0F
);
emit_
int8
((
unsigned
char
)(
0x80
|
cc
)
);
emit_long
(
offs
-
long_size
);
}
}
else
{
...
...
@@ -3085,7 +3085,8 @@ void MacroAssembler::xorps(XMMRegister dst, AddressLiteral src) {
void
MacroAssembler
::
pshufb
(
XMMRegister
dst
,
AddressLiteral
src
)
{
// 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
))
{
Assembler
::
pshufb
(
dst
,
as_Address
(
src
));
}
else
{
...
...
src/cpu/x86/vm/macroAssembler_x86.hpp
浏览文件 @
19ea47ba
...
...
@@ -126,25 +126,6 @@ class MacroAssembler: public Assembler {
}
}
#ifndef PRODUCT
static
void
pd_print_patched_instruction
(
address
branch
)
{
const
char
*
s
;
unsigned
char
op
=
branch
[
0
];
if
(
op
==
0xE8
)
{
s
=
"call"
;
}
else
if
(
op
==
0xE9
||
op
==
0xEB
)
{
s
=
"jmp"
;
}
else
if
((
op
&
0xF0
)
==
0x70
)
{
s
=
"jcc"
;
}
else
if
(
op
==
0x0F
)
{
s
=
"jcc"
;
}
else
{
s
=
"????"
;
}
tty
->
print
(
"%s (unresolved)"
,
s
);
}
#endif
// The following 4 methods return the offset of the appropriate move instruction
// Support for fast byte/short loading with zero extension (depending on particular CPU)
...
...
src/cpu/x86/vm/stubGenerator_x86_32.cpp
浏览文件 @
19ea47ba
...
...
@@ -2174,13 +2174,13 @@ class StubGenerator: public StubCodeGenerator {
// c_rarg2 - K (key) in little endian int array
//
address
generate_aescrypt_encryptBlock
()
{
assert
(
UseAES
&&
(
UseAVX
>
0
)
,
"need AES instructions and misaligned SSE support"
);
assert
(
UseAES
,
"need AES instructions and misaligned SSE support"
);
__
align
(
CodeEntryAlignment
);
StubCodeMark
mark
(
this
,
"StubRoutines"
,
"aescrypt_encryptBlock"
);
Label
L_doLast
;
address
start
=
__
pc
();
const
Register
from
=
r
si
;
// source array address
const
Register
from
=
r
dx
;
// source array address
const
Register
to
=
rdx
;
// destination array address
const
Register
key
=
rcx
;
// key array address
const
Register
keylen
=
rax
;
...
...
@@ -2189,47 +2189,74 @@ class StubGenerator: public StubCodeGenerator {
const
Address
key_param
(
rbp
,
8
+
8
);
const
XMMRegister
xmm_result
=
xmm0
;
const
XMMRegister
xmm_temp
=
xmm1
;
const
XMMRegister
xmm_key_shuf_mask
=
xmm2
;
const
XMMRegister
xmm_key_shuf_mask
=
xmm1
;
const
XMMRegister
xmm_temp1
=
xmm2
;
const
XMMRegister
xmm_temp2
=
xmm3
;
const
XMMRegister
xmm_temp3
=
xmm4
;
const
XMMRegister
xmm_temp4
=
xmm5
;
__
enter
();
// required for proper stackwalking of RuntimeStub frame
__
push
(
rsi
);
__
movptr
(
from
,
from_param
);
__
movptr
(
to
,
to_param
);
__
movptr
(
key
,
key_param
);
__
enter
();
// required for proper stackwalking of RuntimeStub frame
__
movptr
(
from
,
from_param
);
__
movptr
(
key
,
key_param
);
// keylen could be only {11, 13, 15} * 4 = {44, 52, 60}
__
movl
(
keylen
,
Address
(
key
,
arrayOopDesc
::
length_offset_in_bytes
()
-
arrayOopDesc
::
base_offset_in_bytes
(
T_INT
)));
// keylen = # of 32-bit words, convert to 128-bit words
__
shrl
(
keylen
,
2
);
__
subl
(
keylen
,
11
);
// every key has at least 11 128-bit words, some have more
__
movdqu
(
xmm_key_shuf_mask
,
ExternalAddress
(
StubRoutines
::
x86
::
key_shuffle_mask_addr
()));
__
movdqu
(
xmm_result
,
Address
(
from
,
0
));
// get 16 bytes of input
__
movptr
(
to
,
to_param
);
// For encryption, the java expanded key ordering is just what we need
load_key
(
xmm_temp
,
key
,
0x00
,
xmm_key_shuf_mask
);
__
pxor
(
xmm_result
,
xmm_temp
);
for
(
int
offset
=
0x10
;
offset
<=
0x90
;
offset
+=
0x10
)
{
aes_enc_key
(
xmm_result
,
xmm_temp
,
key
,
offset
,
xmm_key_shuf_mask
);
}
load_key
(
xmm_temp
,
key
,
0xa0
,
xmm_key_shuf_mask
);
__
cmpl
(
keylen
,
0
);
__
jcc
(
Assembler
::
equal
,
L_doLast
);
__
aesenc
(
xmm_result
,
xmm_temp
);
// only in 192 and 256 bit keys
aes_enc_key
(
xmm_result
,
xmm_temp
,
key
,
0xb0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp
,
key
,
0xc0
,
xmm_key_shuf_mask
);
__
subl
(
keylen
,
2
);
__
jcc
(
Assembler
::
equal
,
L_doLast
);
__
aesenc
(
xmm_result
,
xmm_temp
);
// only in 256 bit keys
aes_enc_key
(
xmm_result
,
xmm_temp
,
key
,
0xd0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp
,
key
,
0xe0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp1
,
key
,
0x00
,
xmm_key_shuf_mask
);
__
pxor
(
xmm_result
,
xmm_temp1
);
load_key
(
xmm_temp1
,
key
,
0x10
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0x20
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp3
,
key
,
0x30
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp4
,
key
,
0x40
,
xmm_key_shuf_mask
);
__
aesenc
(
xmm_result
,
xmm_temp1
);
__
aesenc
(
xmm_result
,
xmm_temp2
);
__
aesenc
(
xmm_result
,
xmm_temp3
);
__
aesenc
(
xmm_result
,
xmm_temp4
);
load_key
(
xmm_temp1
,
key
,
0x50
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0x60
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp3
,
key
,
0x70
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp4
,
key
,
0x80
,
xmm_key_shuf_mask
);
__
aesenc
(
xmm_result
,
xmm_temp1
);
__
aesenc
(
xmm_result
,
xmm_temp2
);
__
aesenc
(
xmm_result
,
xmm_temp3
);
__
aesenc
(
xmm_result
,
xmm_temp4
);
load_key
(
xmm_temp1
,
key
,
0x90
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0xa0
,
xmm_key_shuf_mask
);
__
cmpl
(
keylen
,
44
);
__
jccb
(
Assembler
::
equal
,
L_doLast
);
__
aesenc
(
xmm_result
,
xmm_temp1
);
__
aesenc
(
xmm_result
,
xmm_temp2
);
load_key
(
xmm_temp1
,
key
,
0xb0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0xc0
,
xmm_key_shuf_mask
);
__
cmpl
(
keylen
,
52
);
__
jccb
(
Assembler
::
equal
,
L_doLast
);
__
aesenc
(
xmm_result
,
xmm_temp1
);
__
aesenc
(
xmm_result
,
xmm_temp2
);
load_key
(
xmm_temp1
,
key
,
0xd0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0xe0
,
xmm_key_shuf_mask
);
__
BIND
(
L_doLast
);
__
aesenclast
(
xmm_result
,
xmm_temp
);
__
aesenc
(
xmm_result
,
xmm_temp1
);
__
aesenclast
(
xmm_result
,
xmm_temp2
);
__
movdqu
(
Address
(
to
,
0
),
xmm_result
);
// store the result
__
xorptr
(
rax
,
rax
);
// return 0
__
pop
(
rsi
);
__
leave
();
// required for proper stackwalking of RuntimeStub frame
__
ret
(
0
);
...
...
@@ -2245,13 +2272,13 @@ class StubGenerator: public StubCodeGenerator {
// c_rarg2 - K (key) in little endian int array
//
address
generate_aescrypt_decryptBlock
()
{
assert
(
UseAES
&&
(
UseAVX
>
0
)
,
"need AES instructions and misaligned SSE support"
);
assert
(
UseAES
,
"need AES instructions and misaligned SSE support"
);
__
align
(
CodeEntryAlignment
);
StubCodeMark
mark
(
this
,
"StubRoutines"
,
"aescrypt_decryptBlock"
);
Label
L_doLast
;
address
start
=
__
pc
();
const
Register
from
=
r
si
;
// source array address
const
Register
from
=
r
dx
;
// source array address
const
Register
to
=
rdx
;
// destination array address
const
Register
key
=
rcx
;
// key array address
const
Register
keylen
=
rax
;
...
...
@@ -2260,51 +2287,76 @@ class StubGenerator: public StubCodeGenerator {
const
Address
key_param
(
rbp
,
8
+
8
);
const
XMMRegister
xmm_result
=
xmm0
;
const
XMMRegister
xmm_temp
=
xmm1
;
const
XMMRegister
xmm_key_shuf_mask
=
xmm2
;
const
XMMRegister
xmm_key_shuf_mask
=
xmm1
;
const
XMMRegister
xmm_temp1
=
xmm2
;
const
XMMRegister
xmm_temp2
=
xmm3
;
const
XMMRegister
xmm_temp3
=
xmm4
;
const
XMMRegister
xmm_temp4
=
xmm5
;
__
enter
();
// required for proper stackwalking of RuntimeStub frame
__
push
(
rsi
);
__
movptr
(
from
,
from_param
);
__
movptr
(
to
,
to_param
);
__
movptr
(
key
,
key_param
);
__
movptr
(
from
,
from_param
);
__
movptr
(
key
,
key_param
);
// keylen could be only {11, 13, 15} * 4 = {44, 52, 60}
__
movl
(
keylen
,
Address
(
key
,
arrayOopDesc
::
length_offset_in_bytes
()
-
arrayOopDesc
::
base_offset_in_bytes
(
T_INT
)));
// keylen = # of 32-bit words, convert to 128-bit words
__
shrl
(
keylen
,
2
);
__
subl
(
keylen
,
11
);
// every key has at least 11 128-bit words, some have more
__
movdqu
(
xmm_key_shuf_mask
,
ExternalAddress
(
StubRoutines
::
x86
::
key_shuffle_mask_addr
()));
__
movdqu
(
xmm_result
,
Address
(
from
,
0
));
__
movptr
(
to
,
to_param
);
// for decryption java expanded key ordering is rotated one position from what we want
// so we start from 0x10 here and hit 0x00 last
// we don't know if the key is aligned, hence not using load-execute form
load_key
(
xmm_temp
,
key
,
0x10
,
xmm_key_shuf_mask
);
__
pxor
(
xmm_result
,
xmm_temp
);
for
(
int
offset
=
0x20
;
offset
<=
0xa0
;
offset
+=
0x10
)
{
aes_dec_key
(
xmm_result
,
xmm_temp
,
key
,
offset
,
xmm_key_shuf_mask
);
}
__
cmpl
(
keylen
,
0
);
__
jcc
(
Assembler
::
equal
,
L_doLast
);
// only in 192 and 256 bit keys
aes_dec_key
(
xmm_result
,
xmm_temp
,
key
,
0xb0
,
xmm_key_shuf_mask
);
aes_dec_key
(
xmm_result
,
xmm_temp
,
key
,
0xc0
,
xmm_key_shuf_mask
);
__
subl
(
keylen
,
2
);
__
jcc
(
Assembler
::
equal
,
L_doLast
);
// only in 256 bit keys
aes_dec_key
(
xmm_result
,
xmm_temp
,
key
,
0xd0
,
xmm_key_shuf_mask
);
aes_dec_key
(
xmm_result
,
xmm_temp
,
key
,
0xe0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp1
,
key
,
0x10
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0x20
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp3
,
key
,
0x30
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp4
,
key
,
0x40
,
xmm_key_shuf_mask
);
__
pxor
(
xmm_result
,
xmm_temp1
);
__
aesdec
(
xmm_result
,
xmm_temp2
);
__
aesdec
(
xmm_result
,
xmm_temp3
);
__
aesdec
(
xmm_result
,
xmm_temp4
);
load_key
(
xmm_temp1
,
key
,
0x50
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0x60
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp3
,
key
,
0x70
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp4
,
key
,
0x80
,
xmm_key_shuf_mask
);
__
aesdec
(
xmm_result
,
xmm_temp1
);
__
aesdec
(
xmm_result
,
xmm_temp2
);
__
aesdec
(
xmm_result
,
xmm_temp3
);
__
aesdec
(
xmm_result
,
xmm_temp4
);
load_key
(
xmm_temp1
,
key
,
0x90
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0xa0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp3
,
key
,
0x00
,
xmm_key_shuf_mask
);
__
cmpl
(
keylen
,
44
);
__
jccb
(
Assembler
::
equal
,
L_doLast
);
__
aesdec
(
xmm_result
,
xmm_temp1
);
__
aesdec
(
xmm_result
,
xmm_temp2
);
load_key
(
xmm_temp1
,
key
,
0xb0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0xc0
,
xmm_key_shuf_mask
);
__
cmpl
(
keylen
,
52
);
__
jccb
(
Assembler
::
equal
,
L_doLast
);
__
aesdec
(
xmm_result
,
xmm_temp1
);
__
aesdec
(
xmm_result
,
xmm_temp2
);
load_key
(
xmm_temp1
,
key
,
0xd0
,
xmm_key_shuf_mask
);
load_key
(
xmm_temp2
,
key
,
0xe0
,
xmm_key_shuf_mask
);
__
BIND
(
L_doLast
);
// for decryption the aesdeclast operation is always on key+0x00
load_key
(
xmm_temp
,
key
,
0x00
,
xmm_key_shuf_mask
);
__
aesdeclast
(
xmm_result
,
xmm_temp
);
__
aesdec
(
xmm_result
,
xmm_temp1
);
__
aesdec
(
xmm_result
,
xmm_temp2
);
// for decryption the aesdeclast operation is always on key+0x00
__
aesdeclast
(
xmm_result
,
xmm_temp3
);
__
movdqu
(
Address
(
to
,
0
),
xmm_result
);
// store the result
__
xorptr
(
rax
,
rax
);
// return 0
__
pop
(
rsi
);
__
leave
();
// required for proper stackwalking of RuntimeStub frame
__
ret
(
0
);
...
...
@@ -2340,7 +2392,7 @@ class StubGenerator: public StubCodeGenerator {
// c_rarg4 - input length
//
address
generate_cipherBlockChaining_encryptAESCrypt
()
{
assert
(
UseAES
&&
(
UseAVX
>
0
)
,
"need AES instructions and misaligned SSE support"
);
assert
(
UseAES
,
"need AES instructions and misaligned SSE support"
);
__
align
(
CodeEntryAlignment
);
StubCodeMark
mark
(
this
,
"StubRoutines"
,
"cipherBlockChaining_encryptAESCrypt"
);
address
start
=
__
pc
();
...
...
@@ -2393,7 +2445,7 @@ class StubGenerator: public StubCodeGenerator {
__
jcc
(
Assembler
::
notEqual
,
L_key_192_256
);
// 128 bit code follows here
__
mov
ptr
(
pos
,
0
);
__
mov
l
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_loopTop_128
);
__
movdqu
(
xmm_temp
,
Address
(
from
,
pos
,
Address
::
times_1
,
0
));
// get next 16 bytes of input
...
...
@@ -2423,15 +2475,15 @@ class StubGenerator: public StubCodeGenerator {
__
leave
();
// required for proper stackwalking of RuntimeStub frame
__
ret
(
0
);
__
BIND
(
L_key_192_256
);
// here rax = len in ints of AESCrypt.KLE array (52=192, or 60=256)
__
BIND
(
L_key_192_256
);
// here rax = len in ints of AESCrypt.KLE array (52=192, or 60=256)
__
cmpl
(
rax
,
52
);
__
jcc
(
Assembler
::
notEqual
,
L_key_256
);
// 192-bit code follows here (could be changed to use more xmm registers)
__
mov
ptr
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_loopTop_192
);
__
mov
l
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_loopTop_192
);
__
movdqu
(
xmm_temp
,
Address
(
from
,
pos
,
Address
::
times_1
,
0
));
// get next 16 bytes of input
__
pxor
(
xmm_result
,
xmm_temp
);
// xor with the current r vector
...
...
@@ -2452,11 +2504,11 @@ class StubGenerator: public StubCodeGenerator {
__
jcc
(
Assembler
::
notEqual
,
L_loopTop_192
);
__
jmp
(
L_exit
);
__
BIND
(
L_key_256
);
__
BIND
(
L_key_256
);
// 256-bit code follows here (could be changed to use more xmm registers)
__
mov
ptr
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_loopTop_256
);
__
mov
l
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_loopTop_256
);
__
movdqu
(
xmm_temp
,
Address
(
from
,
pos
,
Address
::
times_1
,
0
));
// get next 16 bytes of input
__
pxor
(
xmm_result
,
xmm_temp
);
// xor with the current r vector
...
...
@@ -2495,7 +2547,7 @@ class StubGenerator: public StubCodeGenerator {
//
address
generate_cipherBlockChaining_decryptAESCrypt
()
{
assert
(
UseAES
&&
(
UseAVX
>
0
)
,
"need AES instructions and misaligned SSE support"
);
assert
(
UseAES
,
"need AES instructions and misaligned SSE support"
);
__
align
(
CodeEntryAlignment
);
StubCodeMark
mark
(
this
,
"StubRoutines"
,
"cipherBlockChaining_decryptAESCrypt"
);
address
start
=
__
pc
();
...
...
@@ -2556,9 +2608,9 @@ class StubGenerator: public StubCodeGenerator {
// 128-bit code follows here, parallelized
__
mov
ptr
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_singleBlock_loopTop_128
);
__
mov
l
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_singleBlock_loopTop_128
);
__
cmpptr
(
len_reg
,
0
);
// any blocks left??
__
jcc
(
Assembler
::
equal
,
L_exit
);
__
movdqu
(
xmm_result
,
Address
(
from
,
pos
,
Address
::
times_1
,
0
));
// get next 16 bytes of cipher input
...
...
@@ -2597,7 +2649,7 @@ class StubGenerator: public StubCodeGenerator {
__
jcc
(
Assembler
::
notEqual
,
L_key_256
);
// 192-bit code follows here (could be optimized to use parallelism)
__
mov
ptr
(
pos
,
0
);
__
mov
l
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_singleBlock_loopTop_192
);
__
movdqu
(
xmm_result
,
Address
(
from
,
pos
,
Address
::
times_1
,
0
));
// get next 16 bytes of cipher input
...
...
@@ -2622,7 +2674,7 @@ class StubGenerator: public StubCodeGenerator {
__
BIND
(
L_key_256
);
// 256-bit code follows here (could be optimized to use parallelism)
__
mov
ptr
(
pos
,
0
);
__
mov
l
(
pos
,
0
);
__
align
(
OptoLoopAlignment
);
__
BIND
(
L_singleBlock_loopTop_256
);
__
movdqu
(
xmm_result
,
Address
(
from
,
pos
,
Address
::
times_1
,
0
));
// get next 16 bytes of cipher input
...
...
src/cpu/x86/vm/stubGenerator_x86_64.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/cpu/x86/vm/vm_version_x86.cpp
浏览文件 @
19ea47ba
...
...
@@ -489,8 +489,8 @@ void VM_Version::get_processor_features() {
}
// The AES intrinsic stubs require AES instruction support (of course)
// but also require
AVX and sse3 modes
for instructions it use.
if
(
UseAES
&&
(
Use
AVX
>
0
)
&&
(
Use
SSE
>
2
))
{
// but also require
sse3 mode
for instructions it use.
if
(
UseAES
&&
(
UseSSE
>
2
))
{
if
(
FLAG_IS_DEFAULT
(
UseAESIntrinsics
))
{
UseAESIntrinsics
=
true
;
}
...
...
src/cpu/zero/vm/assembler_zero.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/cpu/zero/vm/assembler_zero.hpp
浏览文件 @
19ea47ba
...
...
@@ -37,9 +37,6 @@ class Assembler : public AbstractAssembler {
public:
void
pd_patch_instruction
(
address
branch
,
address
target
);
#ifndef PRODUCT
static
void
pd_print_patched_instruction
(
address
branch
);
#endif // PRODUCT
};
class
MacroAssembler
:
public
Assembler
{
...
...
src/os/posix/vm/os_posix.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/os/windows/vm/os_windows.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp
浏览文件 @
19ea47ba
...
...
@@ -30,7 +30,7 @@
void
MacroAssembler
::
int3
()
{
emit_
byte
(
0xCC
);
emit_
int8
((
unsigned
char
)
0xCC
);
}
#ifndef _LP64
...
...
src/share/vm/asm/assembler.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/asm/assembler.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/asm/codeBuffer.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/c1/c1_GraphBuilder.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/c1/c1_LIRGenerator.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/ci/ciField.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/classfile/classLoaderData.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/classfile/classLoaderData.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/classfile/vmSymbols.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/compiler/compileBroker.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/compiler/compilerOracle.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/memory/allocation.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/memory/metaspace.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/memory/metaspace.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/oops/instanceKlass.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/oops/klass.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/addnode.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/bytecodeInfo.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/callGenerator.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/callGenerator.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/callnode.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/cfgnode.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/compile.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/compile.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/doCall.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/graphKit.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/library_call.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/node.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/parse3.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/runtime.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/runtime.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/opto/stringopts.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/prims/methodHandles.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/prims/unsafe.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/runtime/globals.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/runtime/os.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/runtime/thread.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/runtime/virtualspace.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/services/memBaseline.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/services/nmtDCmd.cpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/utilities/workgroup.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
src/share/vm/utilities/yieldingWorkgroup.hpp
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
test/compiler/7184394/TestAESBase.java
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
test/compiler/7184394/TestAESMain.java
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
test/compiler/8004741/Test8004741.java
0 → 100644
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
test/compiler/8005033/Test8005033.java
0 → 100644
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
test/sanity/ExecuteInternalVMTests.java
0 → 100644
浏览文件 @
19ea47ba
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录