Thu, 21 Aug 2014 13:57:51 -0700
8046070: Class Data Sharing clean up and refactoring
Summary: Cleaned up CDS to be more configurable, maintainable and extensible
Reviewed-by: dholmes, coleenp, acorn, mchung
1 #
2 # Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation.
8 #
9 # This code is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 # version 2 for more details (a copy is included in the LICENSE file that
13 # accompanied this code).
14 #
15 # You should have received a copy of the GNU General Public License version
16 # 2 along with this work; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
23 #
24 ifeq ($(INCLUDE_JVMTI), false)
25 CXXFLAGS += -DINCLUDE_JVMTI=0
26 CFLAGS += -DINCLUDE_JVMTI=0
28 Src_Files_EXCLUDE += jvmtiGetLoadedClasses.cpp jvmtiThreadState.cpp jvmtiExtensions.cpp \
29 jvmtiImpl.cpp jvmtiManageCapabilities.cpp jvmtiRawMonitor.cpp jvmtiUtil.cpp jvmtiTrace.cpp \
30 jvmtiCodeBlobEvents.cpp jvmtiEnv.cpp jvmtiRedefineClasses.cpp jvmtiEnvBase.cpp jvmtiEnvThreadState.cpp \
31 jvmtiTagMap.cpp jvmtiEventController.cpp evmCompat.cpp jvmtiEnter.xsl jvmtiExport.cpp \
32 jvmtiClassFileReconstituter.cpp
33 endif
35 ifeq ($(INCLUDE_FPROF), false)
36 CXXFLAGS += -DINCLUDE_FPROF=0
37 CFLAGS += -DINCLUDE_FPROF=0
39 Src_Files_EXCLUDE += fprofiler.cpp
40 endif
42 ifeq ($(INCLUDE_VM_STRUCTS), false)
43 CXXFLAGS += -DINCLUDE_VM_STRUCTS=0
44 CFLAGS += -DINCLUDE_VM_STRUCTS=0
46 Src_Files_EXCLUDE += vmStructs.cpp
47 endif
49 ifeq ($(INCLUDE_JNI_CHECK), false)
50 CXXFLAGS += -DINCLUDE_JNI_CHECK=0
51 CFLAGS += -DINCLUDE_JNI_CHECK=0
53 Src_Files_EXCLUDE += jniCheck.cpp
54 endif
56 ifeq ($(INCLUDE_SERVICES), false)
57 CXXFLAGS += -DINCLUDE_SERVICES=0
58 CFLAGS += -DINCLUDE_SERVICES=0
60 Src_Files_EXCLUDE += heapDumper.cpp heapInspection.cpp \
61 attachListener_linux.cpp attachListener.cpp
62 endif
64 ifeq ($(INCLUDE_MANAGEMENT), false)
65 CXXFLAGS += -DINCLUDE_MANAGEMENT=0
66 CFLAGS += -DINCLUDE_MANAGEMENT=0
67 endif
69 ifeq ($(INCLUDE_CDS), false)
70 CXXFLAGS += -DINCLUDE_CDS=0
71 CFLAGS += -DINCLUDE_CDS=0
73 Src_Files_EXCLUDE += filemap.cpp metaspaceShared*.cpp sharedPathsMiscInfo.cpp \
74 systemDictionaryShared.cpp classLoaderExt.cpp sharedClassUtil.cpp
75 endif
77 ifeq ($(INCLUDE_ALL_GCS), false)
78 CXXFLAGS += -DINCLUDE_ALL_GCS=0
79 CFLAGS += -DINCLUDE_ALL_GCS=0
81 gc_impl := $(GAMMADIR)/src/share/vm/gc_implementation
82 gc_exclude := \
83 $(notdir $(wildcard $(gc_impl)/concurrentMarkSweep/*.cpp)) \
84 $(notdir $(wildcard $(gc_impl)/g1/*.cpp)) \
85 $(notdir $(wildcard $(gc_impl)/parallelScavenge/*.cpp)) \
86 $(notdir $(wildcard $(gc_impl)/parNew/*.cpp))
87 Src_Files_EXCLUDE += $(gc_exclude)
89 # Exclude everything in $(gc_impl)/shared except the files listed
90 # in $(gc_shared_keep).
91 gc_shared_all := $(notdir $(wildcard $(gc_impl)/shared/*.cpp))
92 gc_shared_keep := \
93 adaptiveSizePolicy.cpp \
94 ageTable.cpp \
95 collectorCounters.cpp \
96 cSpaceCounters.cpp \
97 gcPolicyCounters.cpp \
98 gcStats.cpp \
99 gcTimer.cpp \
100 gcTrace.cpp \
101 gcTraceSend.cpp \
102 gcTraceTime.cpp \
103 gcUtil.cpp \
104 generationCounters.cpp \
105 markSweep.cpp \
106 objectCountEventSender.cpp \
107 spaceDecorator.cpp \
108 vmGCOperations.cpp
109 Src_Files_EXCLUDE += $(filter-out $(gc_shared_keep),$(gc_shared_all))
111 # src/share/vm/services
112 Src_Files_EXCLUDE += \
113 g1MemoryPool.cpp \
114 psMemoryPool.cpp
115 endif
117 ifeq ($(INCLUDE_NMT), false)
118 CXXFLAGS += -DINCLUDE_NMT=0
119 CFLAGS += -DINCLUDE_NMT=0
121 Src_Files_EXCLUDE += \
122 memBaseline.cpp memReporter.cpp mallocTracker.cpp virtualMemoryTracker.cpp nmtCommon.cpp \
123 memTracker.cpp nmtDCmd.cpp mallocSiteTable.cpp
124 endif
126 -include $(HS_ALT_MAKE)/excludeSrc.make
128 .PHONY: $(HS_ALT_MAKE)/excludeSrc.make