151 for (int i = 0; i < length; ++i) {
152 if (!launch_recording(dcmd_recordings_array->at(i), THREAD)) {
153 result = false;
154 break;
155 }
156 }
157 }
158 teardown_startup_support();
159 return result;
160 }
161
162 static void log_jdk_jfr_module_resolution_error(TRAPS) {
163 LogTarget(Error, jfr, system) lt_error;
164 LogTargetHandle handle(lt_error);
165 LogStream stream(handle);
166 JfrJavaSupport::is_jdk_jfr_module_available(&stream, THREAD);
167 }
168
169 static bool is_cds_dump_requested() {
170 // we will not be able to launch recordings if a cds dump is being requested
171 if ((DumpSharedSpaces || DynamicDumpSharedSpaces) && (JfrOptionSet::startup_recording_options() != NULL)) {
172 warning("JFR will be disabled during CDS dumping");
173 teardown_startup_support();
174 return true;
175 }
176 return false;
177 }
178
179 bool JfrRecorder::on_vm_start() {
180 if (is_cds_dump_requested()) {
181 return true;
182 }
183 Thread* const thread = Thread::current();
184 if (!JfrOptionSet::initialize(thread)) {
185 return false;
186 }
187 if (!register_jfr_dcmds()) {
188 return false;
189 }
190
191 const bool in_graph = JfrJavaSupport::is_jdk_jfr_module_available();
|
151 for (int i = 0; i < length; ++i) {
152 if (!launch_recording(dcmd_recordings_array->at(i), THREAD)) {
153 result = false;
154 break;
155 }
156 }
157 }
158 teardown_startup_support();
159 return result;
160 }
161
162 static void log_jdk_jfr_module_resolution_error(TRAPS) {
163 LogTarget(Error, jfr, system) lt_error;
164 LogTargetHandle handle(lt_error);
165 LogStream stream(handle);
166 JfrJavaSupport::is_jdk_jfr_module_available(&stream, THREAD);
167 }
168
169 static bool is_cds_dump_requested() {
170 // we will not be able to launch recordings if a cds dump is being requested
171 if (Arguments::is_dumping_archive() && (JfrOptionSet::startup_recording_options() != NULL)) {
172 warning("JFR will be disabled during CDS dumping");
173 teardown_startup_support();
174 return true;
175 }
176 return false;
177 }
178
179 bool JfrRecorder::on_vm_start() {
180 if (is_cds_dump_requested()) {
181 return true;
182 }
183 Thread* const thread = Thread::current();
184 if (!JfrOptionSet::initialize(thread)) {
185 return false;
186 }
187 if (!register_jfr_dcmds()) {
188 return false;
189 }
190
191 const bool in_graph = JfrJavaSupport::is_jdk_jfr_module_available();
|