Mon, 12 Aug 2019 18:30:40 +0300
8223147: JFR Backport
8199712: Flight Recorder
8203346: JFR: Inconsistent signature of jfr_add_string_constant
8195817: JFR.stop should require name of recording
8195818: JFR.start should increase autogenerated name by one
8195819: Remove recording=x from jcmd JFR.check output
8203921: JFR thread sampling is missing fixes from JDK-8194552
8203929: Limit amount of data for JFR.dump
8203664: JFR start failure after AppCDS archive created with JFR StartFlightRecording
8003209: JFR events for network utilization
8207392: [PPC64] Implement JFR profiling
8202835: jfr/event/os/TestSystemProcess.java fails on missing events
Summary: Backport JFR from JDK11. Initial integration
Reviewed-by: neugens
1 #
2 # Copyright (c) 1999, 2013, 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 #
25 !include $(WorkSpace)/make/windows/makefiles/rules.make
27 # This is used externally by both batch and IDE builds, so can't
28 # reference any of the HOTSPOTWORKSPACE, HOTSPOTBUILDSPACE,
29 # HOTSPOTRELEASEBINDEST, or HOTSPOTDEBUGBINDEST environment variables.
31 ProjectCreatorSources=\
32 $(WorkSpace)\src\share\tools\ProjectCreator\ProjectCreator.java \
33 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreator.java \
34 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC7.java \
35 $(WorkSpace)\src\share\tools\ProjectCreator\FileTreeCreatorVC10.java \
36 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatform.java \
37 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC7.java \
38 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC8.java \
39 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC9.java \
40 $(WorkSpace)\src\share\tools\ProjectCreator\WinGammaPlatformVC10.java \
41 $(WorkSpace)\src\share\tools\ProjectCreator\Util.java \
42 $(WorkSpace)\src\share\tools\ProjectCreator\BuildConfig.java \
43 $(WorkSpace)\src\share\tools\ProjectCreator\ArgsParser.java
45 # This is only used internally
46 ProjectCreatorIncludesPRIVATE=\
47 -relativeAltSrcInclude src\closed \
48 -altRelativeInclude share\vm \
49 -altRelativeInclude os\windows\vm \
50 -altRelativeInclude os_cpu\windows_$(Platform_arch)\vm \
51 -altRelativeInclude cpu\$(Platform_arch)\vm \
52 -relativeInclude src\share\vm \
53 -relativeInclude src\share\vm\precompiled \
54 -relativeInclude src\share\vm\prims\wbtestmethods \
55 -relativeInclude src\share\vm\prims \
56 -relativeInclude src\os\windows\vm \
57 -relativeInclude src\os_cpu\windows_$(Platform_arch)\vm \
58 -relativeInclude src\cpu\$(Platform_arch)\vm \
59 -absoluteInclude $(HOTSPOTBUILDSPACE)/%f/generated \
60 -relativeSrcInclude src \
61 -absoluteSrcInclude $(HOTSPOTBUILDSPACE) \
62 -ignorePath $(HOTSPOTBUILDSPACE) \
63 -ignorePath share\vm\adlc \
64 -ignorePath share\vm\shark \
65 -ignorePath share\tools \
66 -ignorePath solaris \
67 -ignorePath posix \
68 -ignorePath sparc \
69 -ignorePath linux \
70 -ignorePath bsd \
71 -ignorePath osx \
72 -ignorePath arm \
73 -ignorePath ppc \
74 -ignorePath zero \
75 -ignorePath aix \
76 -hidePath .hg
79 # This is referenced externally by both the IDE and batch builds
80 ProjectCreatorOptions=
82 # This is used externally, but only by the IDE builds, so we can
83 # reference environment variables which aren't defined in the batch
84 # build process.
86 ProjectCreatorIDEOptions = \
87 -useToGeneratePch java.cpp \
88 -disablePch os_windows.cpp \
89 -disablePch os_windows_$(Platform_arch).cpp \
90 -disablePch osThread_windows.cpp \
91 -disablePch bytecodeInterpreter.cpp \
92 -disablePch bytecodeInterpreterWithChecks.cpp \
93 -disablePch getThread_windows_$(Platform_arch).cpp \
94 -disablePch_compiler2 opcodes.cpp
96 !if "$(BUILD_WIN_SA)" != "1"
97 BUILD_VM_DEF_FLAG=-nosa
98 !endif
100 # Common options for the IDE builds for c1, and c2
101 ProjectCreatorIDEOptions=\
102 $(ProjectCreatorIDEOptions) \
103 -sourceBase $(HOTSPOTWORKSPACE) \
104 -buildBase $(HOTSPOTBUILDSPACE)\%f\%b \
105 -buildSpace $(HOTSPOTBUILDSPACE) \
106 -startAt src \
107 -compiler $(VcVersion) \
108 -projectFileName $(HOTSPOTBUILDSPACE)\$(ProjectFile) \
109 -jdkTargetRoot $(HOTSPOTJDKDIST) \
110 -define ALIGN_STACK_FRAMES \
111 -define VM_LITTLE_ENDIAN \
112 -prelink "" "Generating vm.def..." "cd $(HOTSPOTBUILDSPACE)\%f\%b set HOTSPOTMKSHOME=$(HOTSPOTMKSHOME) set JAVA_HOME=$(HOTSPOTJDKDIST) $(HOTSPOTMKSHOME)\sh $(HOTSPOTWORKSPACE)\make\windows\build_vm_def.sh $(BUILD_VM_DEF_FLAG) $(LD_VER)" \
113 -ignoreFile jsig.c \
114 -ignoreFile jvmtiEnvRecommended.cpp \
115 -ignoreFile jvmtiEnvStub.cpp \
116 -ignoreFile globalDefinitions_gcc.hpp \
117 -ignoreFile globalDefinitions_sparcWorks.hpp \
118 -ignoreFile version.rc \
119 -ignoreFile Xusage.txt \
120 -define TARGET_ARCH_x86 \
121 -define TARGET_OS_ARCH_windows_x86 \
122 -define TARGET_OS_FAMILY_windows \
123 -define TARGET_COMPILER_visCPP \
124 -define INCLUDE_TRACE=1 \
125 $(ProjectCreatorIncludesPRIVATE)
127 # Add in build-specific options
128 !if "$(BUILDARCH)" == "i486"
129 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
130 -platformName Win32 \
131 -define IA32 \
132 -ignorePath x86_64 \
133 -define TARGET_ARCH_MODEL_x86_32
134 !else
135 !if "$(BUILDARCH)" == "amd64"
136 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
137 -platformName x64 \
138 -define AMD64 \
139 -define _LP64 \
140 -ignorePath x86_32 \
141 -define TARGET_ARCH_MODEL_x86_64 \
142 -define TARGET_OS_ARCH_MODEL_windows_x86_64
143 !endif
144 !endif
146 ProjectCreatorIDEOptionsIgnoreCompiler1=\
147 -ignorePath_TARGET compiler1 \
148 -ignorePath_TARGET tiered \
149 -ignorePath_TARGET c1_
151 ProjectCreatorIDEOptionsIgnoreCompiler2=\
152 -ignorePath_TARGET compiler2 \
153 -ignorePath_TARGET tiered \
154 -ignorePath_TARGET src/share/vm/opto \
155 -ignorePath_TARGET src/share/vm/libadt \
156 -ignorePath_TARGET adfiles \
157 -ignoreFile_TARGET bcEscapeAnalyzer.cpp \
158 -ignoreFile_TARGET bcEscapeAnalyzer.hpp \
159 -ignorePath_TARGET chaitin \
160 -ignorePath_TARGET c2_ \
161 -ignorePath_TARGET runtime_ \
162 -ignoreFile_TARGET ciTypeFlow.cpp \
163 -ignoreFile_TARGET ciTypeFlow.hpp \
164 -ignoreFile_TARGET $(Platform_arch_model).ad
166 ##################################################
167 # Client(C1) compiler specific options
168 ##################################################
169 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
170 -define_compiler1 COMPILER1 \
171 $(ProjectCreatorIDEOptionsIgnoreCompiler2:TARGET=compiler1)
173 ##################################################
174 # Server(C2) compiler specific options
175 ##################################################
176 #NOTE! This list must be kept in sync with GENERATED_NAMES in adlc.make.
177 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
178 -define_compiler2 COMPILER2 \
179 -additionalFile_compiler2 $(Platform_arch_model).ad \
180 -additionalFile_compiler2 ad_$(Platform_arch_model).cpp \
181 -additionalFile_compiler2 ad_$(Platform_arch_model).hpp \
182 -additionalFile_compiler2 ad_$(Platform_arch_model)_clone.cpp \
183 -additionalFile_compiler2 ad_$(Platform_arch_model)_expand.cpp \
184 -additionalFile_compiler2 ad_$(Platform_arch_model)_format.cpp \
185 -additionalFile_compiler2 ad_$(Platform_arch_model)_gen.cpp \
186 -additionalFile_compiler2 ad_$(Platform_arch_model)_misc.cpp \
187 -additionalFile_compiler2 ad_$(Platform_arch_model)_peephole.cpp \
188 -additionalFile_compiler2 ad_$(Platform_arch_model)_pipeline.cpp \
189 -additionalFile_compiler2 adGlobals_$(Platform_arch_model).hpp \
190 -additionalFile_compiler2 dfa_$(Platform_arch_model).cpp \
191 $(ProjectCreatorIDEOptionsIgnoreCompiler1:TARGET=compiler2)
193 # Add in the jvmti (JSR-163) options
194 # NOTE: do not pull in jvmtiEnvRecommended.cpp. This file is generated
195 # so the programmer can diff it with jvmtiEnv.cpp to be sure the
196 # code merge was done correctly (@see jvmti.make and jvmtiEnvFill.java).
197 # If so, they would then check it in as a new version of jvmtiEnv.cpp.
198 ProjectCreatorIDEOptions=$(ProjectCreatorIDEOptions) \
199 -additionalFile jvmtiEnv.hpp \
200 -additionalFile jvmtiEnter.cpp \
201 -additionalFile jvmtiEnterTrace.cpp \
202 -additionalFile jvmti.h \
203 -additionalFile bytecodeInterpreterWithChecks.cpp \
204 -additionalFile traceEventClasses.hpp \
205 -additionalFile traceEventIds.hpp \
206 !if "$(OPENJDK)" != "true"
207 -additionalFile traceRequestables.hpp \
208 -additionalFile traceEventControl.hpp \
209 -additionalFile traceProducer.cpp \
210 !endif
211 -additionalFile traceTypes.hpp