< prev index next >

src/hotspot/share/runtime/arguments.cpp

Print this page
rev 49619 : JEP 328 : Flight Recorder open source preview

*** 34,43 **** --- 34,44 ---- #include "gc/shared/gcConfig.hpp" #include "logging/log.hpp" #include "logging/logConfiguration.hpp" #include "logging/logStream.hpp" #include "logging/logTag.hpp" + #include "jfr/recorder/access/jfrOptionSet.hpp" #include "memory/allocation.inline.hpp" #include "memory/universe.hpp" #include "oops/oop.inline.hpp" #include "prims/jvmtiExport.hpp" #include "runtime/arguments.hpp"
*** 260,269 **** --- 261,282 ---- } } return false; } + // return true on failure + static bool match_jfr_option(const JavaVMOption** option) { + assert((*option)->optionString != NULL, "invariant"); + char* tail = NULL; + if (match_option(*option, "-XX:StartFlightRecording", (const char**)&tail)) { + return JfrOptionSet::parse_start_flight_recording(option, tail); + } else if (match_option(*option, "-XX:FlightRecorderOptions", (const char**)&tail)) { + return JfrOptionSet::parse_flight_recorder_options(option, tail); + } + return false; + } + static void logOption(const char* opt) { if (PrintVMOptions) { jio_fprintf(defaultStream::output_stream(), "VM option '%s'\n", opt); } }
*** 3162,3171 **** --- 3175,3186 ---- } else if (match_option(option, "-XX:+ManagementServer")) { jio_fprintf(defaultStream::error_stream(), "ManagementServer is not supported in this VM.\n"); return JNI_ERR; #endif // INCLUDE_MANAGEMENT + } else if (match_jfr_option(&option)) { + return JNI_EINVAL; } else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx // Skip -XX:Flags= and -XX:VMOptionsFile= since those cases have // already been handled if ((strncmp(tail, "Flags=", strlen("Flags=")) != 0) && (strncmp(tail, "VMOptionsFile=", strlen("VMOptionsFile=")) != 0)) {
< prev index next >