< prev index next >

src/share/vm/jfr/dcmd/jfrDcmds.cpp

Print this page
rev 9060 : 8216064: -XX:StartFlightRecording:settings= doesn't work properly
Reviewed-by: mgronlun

*** 432,442 **** path_to_gc_roots = JfrJavaSupport::new_java_lang_Boolean(_path_to_gc_roots.value(), CHECK); } jobjectArray settings = NULL; if (_settings.is_set()) { ! const int length = _settings.value()->array()->length(); settings = JfrJavaSupport::new_string_array(length, CHECK); assert(settings != NULL, "invariant"); for (int i = 0; i < length; ++i) { jobject element = JfrJavaSupport::new_string(_settings.value()->array()->at(i), CHECK); assert(element != NULL, "invariant"); --- 432,448 ---- path_to_gc_roots = JfrJavaSupport::new_java_lang_Boolean(_path_to_gc_roots.value(), CHECK); } jobjectArray settings = NULL; if (_settings.is_set()) { ! int length = _settings.value()->array()->length(); ! if (length == 1) { ! const char* c_str = _settings.value()->array()->at(0); ! if (strcmp(c_str, "none") == 0) { ! length = 0; ! } ! } settings = JfrJavaSupport::new_string_array(length, CHECK); assert(settings != NULL, "invariant"); for (int i = 0; i < length; ++i) { jobject element = JfrJavaSupport::new_string(_settings.value()->array()->at(i), CHECK); assert(element != NULL, "invariant");
< prev index next >