< 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 >