Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_hotspot
提交
ee492f00
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看板
提交
ee492f00
编写于
12月 19, 2012
作者:
M
minqi
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
36783804
4dcda36e
变更
46
隐藏空白更改
内联
并排
Showing
46 changed file
with
105 addition
and
241 deletion
+105
-241
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/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/share/vm/asm/codeBuffer.cpp
src/share/vm/asm/codeBuffer.cpp
+2
-14
src/share/vm/classfile/classLoaderData.cpp
src/share/vm/classfile/classLoaderData.cpp
+8
-16
src/share/vm/classfile/classLoaderData.hpp
src/share/vm/classfile/classLoaderData.hpp
+4
-3
src/share/vm/compiler/compileBroker.cpp
src/share/vm/compiler/compileBroker.cpp
+2
-7
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/library_call.cpp
src/share/vm/opto/library_call.cpp
+4
-4
src/share/vm/services/nmtDCmd.cpp
src/share/vm/services/nmtDCmd.cpp
+14
-11
未找到文件。
make/bsd/Makefile
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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/linux/Makefile
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
#
# 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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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
浏览文件 @
ee492f00
...
...
@@ -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/share/vm/asm/codeBuffer.cpp
浏览文件 @
ee492f00
...
...
@@ -496,21 +496,9 @@ void CodeBuffer::compute_final_layout(CodeBuffer* dest) const {
dest
->
verify_section_allocation
();
}
// Anonymous classes need mirror to keep the metadata alive but
// for regular classes, the class_loader is sufficient.
// Append an oop reference that keeps the class alive.
static
void
append_oop_references
(
GrowableArray
<
oop
>*
oops
,
Klass
*
k
)
{
if
(
k
->
oop_is_instance
())
{
InstanceKlass
*
ik
=
InstanceKlass
::
cast
(
k
);
if
(
ik
->
is_anonymous
())
{
oop
o
=
ik
->
java_mirror
();
assert
(
o
!=
NULL
,
"should have a mirror"
);
if
(
!
oops
->
contains
(
o
))
{
oops
->
append
(
o
);
}
return
;
// only need the mirror
}
}
oop
cl
=
k
->
class_loader
();
oop
cl
=
k
->
klass_holder
();
if
(
cl
!=
NULL
&&
!
oops
->
contains
(
cl
))
{
oops
->
append
(
cl
);
}
...
...
src/share/vm/classfile/classLoaderData.cpp
浏览文件 @
ee492f00
...
...
@@ -64,8 +64,10 @@
ClassLoaderData
*
ClassLoaderData
::
_the_null_class_loader_data
=
NULL
;
ClassLoaderData
::
ClassLoaderData
(
Handle
h_class_loader
)
:
_class_loader
(
h_class_loader
()),
_metaspace
(
NULL
),
_unloading
(
false
),
_keep_alive
(
false
),
_klasses
(
NULL
),
ClassLoaderData
::
ClassLoaderData
(
Handle
h_class_loader
,
bool
is_anonymous
)
:
_class_loader
(
h_class_loader
()),
_is_anonymous
(
is_anonymous
),
_keep_alive
(
is_anonymous
),
// initially
_metaspace
(
NULL
),
_unloading
(
false
),
_klasses
(
NULL
),
_claimed
(
0
),
_jmethod_ids
(
NULL
),
_handles
(
NULL
),
_deallocate_list
(
NULL
),
_next
(
NULL
),
_dependencies
(
NULL
),
_metaspace_lock
(
new
Mutex
(
Monitor
::
leaf
+
1
,
"Metaspace allocation lock"
,
true
))
{
...
...
@@ -257,13 +259,6 @@ void ClassLoaderData::remove_class(Klass* scratch_class) {
ShouldNotReachHere
();
// should have found this class!!
}
bool
ClassLoaderData
::
is_anonymous
()
const
{
Klass
*
k
=
_klasses
;
return
(
_keep_alive
||
(
k
!=
NULL
&&
k
->
oop_is_instance
()
&&
InstanceKlass
::
cast
(
k
)
->
is_anonymous
()));
}
void
ClassLoaderData
::
unload
()
{
_unloading
=
true
;
...
...
@@ -396,8 +391,7 @@ void ClassLoaderData::free_deallocate_list() {
// These anonymous class loaders are to contain classes used for JSR292
ClassLoaderData
*
ClassLoaderData
::
anonymous_class_loader_data
(
oop
loader
,
TRAPS
)
{
// Add a new class loader data to the graph.
ClassLoaderData
*
cld
=
ClassLoaderDataGraph
::
add
(
NULL
,
loader
,
CHECK_NULL
);
return
cld
;
return
ClassLoaderDataGraph
::
add
(
NULL
,
loader
,
CHECK_NULL
);
}
const
char
*
ClassLoaderData
::
loader_name
()
{
...
...
@@ -475,7 +469,9 @@ ClassLoaderData* ClassLoaderDataGraph::add(ClassLoaderData** cld_addr, Handle lo
// Create one.
ClassLoaderData
*
*
list_head
=
&
_head
;
ClassLoaderData
*
next
=
_head
;
ClassLoaderData
*
cld
=
new
ClassLoaderData
(
loader
);
bool
is_anonymous
=
(
cld_addr
==
NULL
);
ClassLoaderData
*
cld
=
new
ClassLoaderData
(
loader
,
is_anonymous
);
if
(
cld_addr
!=
NULL
)
{
// First, Atomically set it
...
...
@@ -485,10 +481,6 @@ ClassLoaderData* ClassLoaderDataGraph::add(ClassLoaderData** cld_addr, Handle lo
// Returns the data.
return
old
;
}
}
else
{
// Disallow unloading for this CLD during initialization if there is no
// class_loader oop to link this to.
cld
->
set_keep_alive
(
true
);
}
// We won the race, and therefore the task of adding the data to the list of
...
...
src/share/vm/classfile/classLoaderData.hpp
浏览文件 @
ee492f00
...
...
@@ -109,6 +109,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
Mutex
*
_metaspace_lock
;
// Locks the metaspace for allocations and setup.
bool
_unloading
;
// true if this class loader goes away
bool
_keep_alive
;
// if this CLD can be unloaded for anonymous loaders
bool
_is_anonymous
;
// if this CLD is for an anonymous class
volatile
int
_claimed
;
// true if claimed, for example during GC traces.
// To avoid applying oop closure more than once.
// Has to be an int because we cas it.
...
...
@@ -139,7 +140,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
void
set_next
(
ClassLoaderData
*
next
)
{
_next
=
next
;
}
ClassLoaderData
*
next
()
const
{
return
_next
;
}
ClassLoaderData
(
Handle
h_class_loader
);
ClassLoaderData
(
Handle
h_class_loader
,
bool
is_anonymous
);
~
ClassLoaderData
();
void
set_metaspace
(
Metaspace
*
m
)
{
_metaspace
=
m
;
}
...
...
@@ -174,12 +175,12 @@ class ClassLoaderData : public CHeapObj<mtClass> {
return
_the_null_class_loader_data
;
}
bool
is_anonymous
()
const
;
bool
is_anonymous
()
const
{
return
_is_anonymous
;
}
static
void
init_null_class_loader_data
()
{
assert
(
_the_null_class_loader_data
==
NULL
,
"cannot initialize twice"
);
assert
(
ClassLoaderDataGraph
::
_head
==
NULL
,
"cannot initialize twice"
);
_the_null_class_loader_data
=
new
ClassLoaderData
((
oop
)
NULL
);
_the_null_class_loader_data
=
new
ClassLoaderData
((
oop
)
NULL
,
false
);
ClassLoaderDataGraph
::
_head
=
_the_null_class_loader_data
;
assert
(
_the_null_class_loader_data
->
is_the_null_class_loader_data
(),
"Must be"
);
if
(
DumpSharedSpaces
)
{
...
...
src/share/vm/compiler/compileBroker.cpp
浏览文件 @
ee492f00
...
...
@@ -269,12 +269,10 @@ void CompileTask::initialize(int compile_id,
const
char
*
comment
,
bool
is_blocking
)
{
assert
(
!
_lock
->
is_locked
(),
"bad locking"
);
InstanceKlass
*
holder
=
method
->
method_holder
();
_compile_id
=
compile_id
;
_method
=
method
();
_method_holder
=
JNIHandles
::
make_global
(
holder
->
is_anonymous
()
?
holder
->
java_mirror
()
:
holder
->
class_loader
());
_method_holder
=
JNIHandles
::
make_global
(
method
->
method_holder
()
->
klass_holder
());
_osr_bci
=
osr_bci
;
_is_blocking
=
is_blocking
;
_comp_level
=
comp_level
;
...
...
@@ -298,10 +296,7 @@ void CompileTask::initialize(int compile_id,
}
else
{
_hot_method
=
hot_method
();
// only add loader or mirror if different from _method_holder
InstanceKlass
*
hot_holder
=
hot_method
->
method_holder
();
_hot_method_holder
=
JNIHandles
::
make_global
(
hot_holder
->
is_anonymous
()
?
hot_holder
->
java_mirror
()
:
hot_holder
->
class_loader
());
_hot_method_holder
=
JNIHandles
::
make_global
(
hot_method
->
method_holder
()
->
klass_holder
());
}
}
}
...
...
src/share/vm/oops/instanceKlass.hpp
浏览文件 @
ee492f00
...
...
@@ -538,6 +538,12 @@ class InstanceKlass: public Klass {
}
}
// Oop that keeps the metadata for this class from being unloaded
// in places where the metadata is stored in other places, like nmethods
oop
klass_holder
()
const
{
return
is_anonymous
()
?
java_mirror
()
:
class_loader
();
}
// signers
objArrayOop
signers
()
const
{
return
_signers
;
}
void
set_signers
(
objArrayOop
s
)
{
klass_oop_store
((
oop
*
)
&
_signers
,
s
);
}
...
...
src/share/vm/oops/klass.hpp
浏览文件 @
ee492f00
...
...
@@ -451,6 +451,8 @@ class Klass : public Metadata {
oop
class_loader
()
const
;
virtual
oop
klass_holder
()
const
{
return
class_loader
();
}
protected:
virtual
Klass
*
array_klass_impl
(
bool
or_null
,
int
rank
,
TRAPS
);
virtual
Klass
*
array_klass_impl
(
bool
or_null
,
TRAPS
);
...
...
src/share/vm/opto/library_call.cpp
浏览文件 @
ee492f00
...
...
@@ -412,16 +412,16 @@ CallGenerator* Compile::make_vm_intrinsic(ciMethod* m, bool is_virtual) {
break
;
case
vmIntrinsics
::
_reverseBytes_c
:
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesUS
))
return
false
;
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesUS
))
return
NULL
;
break
;
case
vmIntrinsics
::
_reverseBytes_s
:
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesS
))
return
false
;
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesS
))
return
NULL
;
break
;
case
vmIntrinsics
::
_reverseBytes_i
:
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesI
))
return
false
;
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesI
))
return
NULL
;
break
;
case
vmIntrinsics
::
_reverseBytes_l
:
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesL
))
return
false
;
if
(
!
Matcher
::
match_rule_supported
(
Op_ReverseBytesL
))
return
NULL
;
break
;
case
vmIntrinsics
::
_Reference_get
:
...
...
src/share/vm/services/nmtDCmd.cpp
浏览文件 @
ee492f00
...
...
@@ -84,28 +84,31 @@ void NMTDCmd::execute(TRAPS) {
}
int
nopt
=
0
;
if
(
_summary
.
is_set
())
{
++
nopt
;
}
if
(
_detail
.
is_set
())
{
++
nopt
;
}
if
(
_baseline
.
is_set
())
{
++
nopt
;
}
if
(
_summary_diff
.
is_set
())
{
++
nopt
;
}
if
(
_detail_diff
.
is_set
())
{
++
nopt
;
}
if
(
_shutdown
.
is_set
())
{
++
nopt
;
}
if
(
_summary
.
is_set
()
&&
_summary
.
value
()
)
{
++
nopt
;
}
if
(
_detail
.
is_set
()
&&
_detail
.
value
()
)
{
++
nopt
;
}
if
(
_baseline
.
is_set
()
&&
_baseline
.
value
()
)
{
++
nopt
;
}
if
(
_summary_diff
.
is_set
()
&&
_summary_diff
.
value
()
)
{
++
nopt
;
}
if
(
_detail_diff
.
is_set
()
&&
_detail_diff
.
value
()
)
{
++
nopt
;
}
if
(
_shutdown
.
is_set
()
&&
_shutdown
.
value
()
)
{
++
nopt
;
}
#ifndef PRODUCT
if
(
_debug
.
is_set
())
{
++
nopt
;
}
if
(
_debug
.
is_set
()
&&
_debug
.
value
()
)
{
++
nopt
;
}
#endif
if
(
nopt
>
1
)
{
output
()
->
print_cr
(
"At most one of the following option can be specified: "
\
"summary, detail, baseline, summary.diff, detail.diff, shutdown"
#ifndef PRODUCT
"
,
debug"
"
,
debug"
#endif
);
return
;
}
if
(
nopt
==
0
)
{
}
else
if
(
nopt
==
0
)
{
if
(
_summary
.
is_set
())
{
output
()
->
print_cr
(
"No command to execute"
);
return
;
}
else
{
_summary
.
set_value
(
true
);
}
}
#ifndef PRODUCT
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录