< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page

        

*** 42,51 **** --- 42,54 ---- #include "services/memTracker.hpp" #include "utilities/defaultStream.hpp" #include "utilities/macros.hpp" #include "utilities/stringUtils.hpp" #include "utilities/taskqueue.hpp" + #if INCLUDE_JFR + #include "jfr/jfr.hpp" + #endif #ifdef TARGET_OS_FAMILY_linux # include "os_linux.inline.hpp" #endif #ifdef TARGET_OS_FAMILY_solaris # include "os_solaris.inline.hpp"
*** 153,162 **** --- 156,179 ---- } else { return false; } } + #if INCLUDE_JFR + // 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 Jfr::on_start_flight_recording_option(option, tail); + } else if (match_option(*option, "-XX:FlightRecorderOptions", (const char**)&tail)) { + return Jfr::on_flight_recorder_option(option, tail); + } + return false; + } + #endif + static void logOption(const char* opt) { if (PrintVMOptions) { jio_fprintf(defaultStream::output_stream(), "VM option '%s'\n", opt); } }
*** 3397,3406 **** --- 3414,3427 ---- } else if (match_option(option, "-XX:+ManagementServer", &tail)) { jio_fprintf(defaultStream::error_stream(), "ManagementServer is not supported in this VM.\n"); return JNI_ERR; #endif // INCLUDE_MANAGEMENT + #if INCLUDE_JFR + } else if (match_jfr_option(&option)) { + return JNI_EINVAL; + #endif } else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx // Skip -XX:Flags= since that case has already been handled if (strncmp(tail, "Flags=", strlen("Flags=")) != 0) { if (!process_argument(tail, args->ignoreUnrecognized, origin)) { return JNI_EINVAL;
< prev index next >