src/hotspot/share/runtime/flags/jvmFlag.cpp
changeset 54982 b18c8301b8c2
parent 51070 2f4c3cac8556
child 55544 e846a51e8966
child 58678 9cf78a70fa4f
equal deleted inserted replaced
54981:0b56fc0448ec 54982:b18c8301b8c2
   955 
   955 
   956   return match;
   956   return match;
   957 }
   957 }
   958 
   958 
   959 // Returns the address of the index'th element
   959 // Returns the address of the index'th element
   960 static JVMFlag* address_of_flag(JVMFlagsWithType flag) {
   960 static JVMFlag* address_of_flag(JVMFlagsEnum flag) {
   961   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   961   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   962   return &JVMFlag::flags[flag];
   962   return &JVMFlag::flags[flag];
   963 }
   963 }
   964 
   964 
   965 bool JVMFlagEx::is_default(JVMFlags flag) {
   965 bool JVMFlagEx::is_default(JVMFlagsEnum flag) {
   966   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   966   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   967   JVMFlag* f = &JVMFlag::flags[flag];
   967   JVMFlag* f = &JVMFlag::flags[flag];
   968   return f->is_default();
   968   return f->is_default();
   969 }
   969 }
   970 
   970 
   971 bool JVMFlagEx::is_ergo(JVMFlags flag) {
   971 bool JVMFlagEx::is_ergo(JVMFlagsEnum flag) {
   972   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   972   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   973   JVMFlag* f = &JVMFlag::flags[flag];
   973   JVMFlag* f = &JVMFlag::flags[flag];
   974   return f->is_ergonomic();
   974   return f->is_ergonomic();
   975 }
   975 }
   976 
   976 
   977 bool JVMFlagEx::is_cmdline(JVMFlags flag) {
   977 bool JVMFlagEx::is_cmdline(JVMFlagsEnum flag) {
   978   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   978   assert((size_t)flag < JVMFlag::numFlags, "bad command line flag index");
   979   JVMFlag* f = &JVMFlag::flags[flag];
   979   JVMFlag* f = &JVMFlag::flags[flag];
   980   return f->is_command_line();
   980   return f->is_command_line();
   981 }
   981 }
   982 
   982 
   985   if (result == NULL) return false;
   985   if (result == NULL) return false;
   986   *value = result->is_command_line();
   986   *value = result->is_command_line();
   987   return true;
   987   return true;
   988 }
   988 }
   989 
   989 
   990 void JVMFlagEx::setOnCmdLine(JVMFlagsWithType flag) {
   990 void JVMFlagEx::setOnCmdLine(JVMFlagsEnum flag) {
   991   JVMFlag* faddr = address_of_flag(flag);
   991   JVMFlag* faddr = address_of_flag(flag);
   992   assert(faddr != NULL, "Unknown flag");
   992   assert(faddr != NULL, "Unknown flag");
   993   faddr->set_command_line();
   993   faddr->set_command_line();
   994 }
   994 }
   995 
   995 
  1038 JVMFlag::Error JVMFlag::boolAtPut(const char* name, size_t len, bool* value, JVMFlag::Flags origin) {
  1038 JVMFlag::Error JVMFlag::boolAtPut(const char* name, size_t len, bool* value, JVMFlag::Flags origin) {
  1039   JVMFlag* result = JVMFlag::find_flag(name, len);
  1039   JVMFlag* result = JVMFlag::find_flag(name, len);
  1040   return boolAtPut(result, value, origin);
  1040   return boolAtPut(result, value, origin);
  1041 }
  1041 }
  1042 
  1042 
  1043 JVMFlag::Error JVMFlagEx::boolAtPut(JVMFlagsWithType flag, bool value, JVMFlag::Flags origin) {
  1043 JVMFlag::Error JVMFlagEx::boolAtPut(JVMFlagsEnum flag, bool value, JVMFlag::Flags origin) {
  1044   JVMFlag* faddr = address_of_flag(flag);
  1044   JVMFlag* faddr = address_of_flag(flag);
  1045   guarantee(faddr != NULL && faddr->is_bool(), "wrong flag type");
  1045   guarantee(faddr != NULL && faddr->is_bool(), "wrong flag type");
  1046   return JVMFlag::boolAtPut(faddr, &value, origin);
  1046   return JVMFlag::boolAtPut(faddr, &value, origin);
  1047 }
  1047 }
  1048 
  1048 
  1087 JVMFlag::Error JVMFlag::intAtPut(const char* name, size_t len, int* value, JVMFlag::Flags origin) {
  1087 JVMFlag::Error JVMFlag::intAtPut(const char* name, size_t len, int* value, JVMFlag::Flags origin) {
  1088   JVMFlag* result = JVMFlag::find_flag(name, len);
  1088   JVMFlag* result = JVMFlag::find_flag(name, len);
  1089   return intAtPut(result, value, origin);
  1089   return intAtPut(result, value, origin);
  1090 }
  1090 }
  1091 
  1091 
  1092 JVMFlag::Error JVMFlagEx::intAtPut(JVMFlagsWithType flag, int value, JVMFlag::Flags origin) {
  1092 JVMFlag::Error JVMFlagEx::intAtPut(JVMFlagsEnum flag, int value, JVMFlag::Flags origin) {
  1093   JVMFlag* faddr = address_of_flag(flag);
  1093   JVMFlag* faddr = address_of_flag(flag);
  1094   guarantee(faddr != NULL && faddr->is_int(), "wrong flag type");
  1094   guarantee(faddr != NULL && faddr->is_int(), "wrong flag type");
  1095   return JVMFlag::intAtPut(faddr, &value, origin);
  1095   return JVMFlag::intAtPut(faddr, &value, origin);
  1096 }
  1096 }
  1097 
  1097 
  1136 JVMFlag::Error JVMFlag::uintAtPut(const char* name, size_t len, uint* value, JVMFlag::Flags origin) {
  1136 JVMFlag::Error JVMFlag::uintAtPut(const char* name, size_t len, uint* value, JVMFlag::Flags origin) {
  1137   JVMFlag* result = JVMFlag::find_flag(name, len);
  1137   JVMFlag* result = JVMFlag::find_flag(name, len);
  1138   return uintAtPut(result, value, origin);
  1138   return uintAtPut(result, value, origin);
  1139 }
  1139 }
  1140 
  1140 
  1141 JVMFlag::Error JVMFlagEx::uintAtPut(JVMFlagsWithType flag, uint value, JVMFlag::Flags origin) {
  1141 JVMFlag::Error JVMFlagEx::uintAtPut(JVMFlagsEnum flag, uint value, JVMFlag::Flags origin) {
  1142   JVMFlag* faddr = address_of_flag(flag);
  1142   JVMFlag* faddr = address_of_flag(flag);
  1143   guarantee(faddr != NULL && faddr->is_uint(), "wrong flag type");
  1143   guarantee(faddr != NULL && faddr->is_uint(), "wrong flag type");
  1144   return JVMFlag::uintAtPut(faddr, &value, origin);
  1144   return JVMFlag::uintAtPut(faddr, &value, origin);
  1145 }
  1145 }
  1146 
  1146 
  1185 JVMFlag::Error JVMFlag::intxAtPut(const char* name, size_t len, intx* value, JVMFlag::Flags origin) {
  1185 JVMFlag::Error JVMFlag::intxAtPut(const char* name, size_t len, intx* value, JVMFlag::Flags origin) {
  1186   JVMFlag* result = JVMFlag::find_flag(name, len);
  1186   JVMFlag* result = JVMFlag::find_flag(name, len);
  1187   return intxAtPut(result, value, origin);
  1187   return intxAtPut(result, value, origin);
  1188 }
  1188 }
  1189 
  1189 
  1190 JVMFlag::Error JVMFlagEx::intxAtPut(JVMFlagsWithType flag, intx value, JVMFlag::Flags origin) {
  1190 JVMFlag::Error JVMFlagEx::intxAtPut(JVMFlagsEnum flag, intx value, JVMFlag::Flags origin) {
  1191   JVMFlag* faddr = address_of_flag(flag);
  1191   JVMFlag* faddr = address_of_flag(flag);
  1192   guarantee(faddr != NULL && faddr->is_intx(), "wrong flag type");
  1192   guarantee(faddr != NULL && faddr->is_intx(), "wrong flag type");
  1193   return JVMFlag::intxAtPut(faddr, &value, origin);
  1193   return JVMFlag::intxAtPut(faddr, &value, origin);
  1194 }
  1194 }
  1195 
  1195 
  1234 JVMFlag::Error JVMFlag::uintxAtPut(const char* name, size_t len, uintx* value, JVMFlag::Flags origin) {
  1234 JVMFlag::Error JVMFlag::uintxAtPut(const char* name, size_t len, uintx* value, JVMFlag::Flags origin) {
  1235   JVMFlag* result = JVMFlag::find_flag(name, len);
  1235   JVMFlag* result = JVMFlag::find_flag(name, len);
  1236   return uintxAtPut(result, value, origin);
  1236   return uintxAtPut(result, value, origin);
  1237 }
  1237 }
  1238 
  1238 
  1239 JVMFlag::Error JVMFlagEx::uintxAtPut(JVMFlagsWithType flag, uintx value, JVMFlag::Flags origin) {
  1239 JVMFlag::Error JVMFlagEx::uintxAtPut(JVMFlagsEnum flag, uintx value, JVMFlag::Flags origin) {
  1240   JVMFlag* faddr = address_of_flag(flag);
  1240   JVMFlag* faddr = address_of_flag(flag);
  1241   guarantee(faddr != NULL && faddr->is_uintx(), "wrong flag type");
  1241   guarantee(faddr != NULL && faddr->is_uintx(), "wrong flag type");
  1242   return JVMFlag::uintxAtPut(faddr, &value, origin);
  1242   return JVMFlag::uintxAtPut(faddr, &value, origin);
  1243 }
  1243 }
  1244 
  1244 
  1283 JVMFlag::Error JVMFlag::uint64_tAtPut(const char* name, size_t len, uint64_t* value, JVMFlag::Flags origin) {
  1283 JVMFlag::Error JVMFlag::uint64_tAtPut(const char* name, size_t len, uint64_t* value, JVMFlag::Flags origin) {
  1284   JVMFlag* result = JVMFlag::find_flag(name, len);
  1284   JVMFlag* result = JVMFlag::find_flag(name, len);
  1285   return uint64_tAtPut(result, value, origin);
  1285   return uint64_tAtPut(result, value, origin);
  1286 }
  1286 }
  1287 
  1287 
  1288 JVMFlag::Error JVMFlagEx::uint64_tAtPut(JVMFlagsWithType flag, uint64_t value, JVMFlag::Flags origin) {
  1288 JVMFlag::Error JVMFlagEx::uint64_tAtPut(JVMFlagsEnum flag, uint64_t value, JVMFlag::Flags origin) {
  1289   JVMFlag* faddr = address_of_flag(flag);
  1289   JVMFlag* faddr = address_of_flag(flag);
  1290   guarantee(faddr != NULL && faddr->is_uint64_t(), "wrong flag type");
  1290   guarantee(faddr != NULL && faddr->is_uint64_t(), "wrong flag type");
  1291   return JVMFlag::uint64_tAtPut(faddr, &value, origin);
  1291   return JVMFlag::uint64_tAtPut(faddr, &value, origin);
  1292 }
  1292 }
  1293 
  1293 
  1333 JVMFlag::Error JVMFlag::size_tAtPut(const char* name, size_t len, size_t* value, JVMFlag::Flags origin) {
  1333 JVMFlag::Error JVMFlag::size_tAtPut(const char* name, size_t len, size_t* value, JVMFlag::Flags origin) {
  1334   JVMFlag* result = JVMFlag::find_flag(name, len);
  1334   JVMFlag* result = JVMFlag::find_flag(name, len);
  1335   return size_tAtPut(result, value, origin);
  1335   return size_tAtPut(result, value, origin);
  1336 }
  1336 }
  1337 
  1337 
  1338 JVMFlag::Error JVMFlagEx::size_tAtPut(JVMFlagsWithType flag, size_t value, JVMFlag::Flags origin) {
  1338 JVMFlag::Error JVMFlagEx::size_tAtPut(JVMFlagsEnum flag, size_t value, JVMFlag::Flags origin) {
  1339   JVMFlag* faddr = address_of_flag(flag);
  1339   JVMFlag* faddr = address_of_flag(flag);
  1340   guarantee(faddr != NULL && faddr->is_size_t(), "wrong flag type");
  1340   guarantee(faddr != NULL && faddr->is_size_t(), "wrong flag type");
  1341   return JVMFlag::size_tAtPut(faddr, &value, origin);
  1341   return JVMFlag::size_tAtPut(faddr, &value, origin);
  1342 }
  1342 }
  1343 
  1343 
  1382 JVMFlag::Error JVMFlag::doubleAtPut(const char* name, size_t len, double* value, JVMFlag::Flags origin) {
  1382 JVMFlag::Error JVMFlag::doubleAtPut(const char* name, size_t len, double* value, JVMFlag::Flags origin) {
  1383   JVMFlag* result = JVMFlag::find_flag(name, len);
  1383   JVMFlag* result = JVMFlag::find_flag(name, len);
  1384   return doubleAtPut(result, value, origin);
  1384   return doubleAtPut(result, value, origin);
  1385 }
  1385 }
  1386 
  1386 
  1387 JVMFlag::Error JVMFlagEx::doubleAtPut(JVMFlagsWithType flag, double value, JVMFlag::Flags origin) {
  1387 JVMFlag::Error JVMFlagEx::doubleAtPut(JVMFlagsEnum flag, double value, JVMFlag::Flags origin) {
  1388   JVMFlag* faddr = address_of_flag(flag);
  1388   JVMFlag* faddr = address_of_flag(flag);
  1389   guarantee(faddr != NULL && faddr->is_double(), "wrong flag type");
  1389   guarantee(faddr != NULL && faddr->is_double(), "wrong flag type");
  1390   return JVMFlag::doubleAtPut(faddr, &value, origin);
  1390   return JVMFlag::doubleAtPut(faddr, &value, origin);
  1391 }
  1391 }
  1392 
  1392 
  1416   *value = old_value;
  1416   *value = old_value;
  1417   result->set_origin(origin);
  1417   result->set_origin(origin);
  1418   return check;
  1418   return check;
  1419 }
  1419 }
  1420 
  1420 
  1421 JVMFlag::Error JVMFlagEx::ccstrAtPut(JVMFlagsWithType flag, ccstr value, JVMFlag::Flags origin) {
  1421 JVMFlag::Error JVMFlagEx::ccstrAtPut(JVMFlagsEnum flag, ccstr value, JVMFlag::Flags origin) {
  1422   JVMFlag* faddr = address_of_flag(flag);
  1422   JVMFlag* faddr = address_of_flag(flag);
  1423   guarantee(faddr != NULL && faddr->is_ccstr(), "wrong flag type");
  1423   guarantee(faddr != NULL && faddr->is_ccstr(), "wrong flag type");
  1424   ccstr old_value = faddr->get_ccstr();
  1424   ccstr old_value = faddr->get_ccstr();
  1425   trace_flag_changed<EventStringFlagChanged, const char*>(faddr->_name, old_value, value, origin);
  1425   trace_flag_changed<EventStringFlagChanged, const char*>(faddr->_name, old_value, value, origin);
  1426   char* new_value = os::strdup_check_oom(value);
  1426   char* new_value = os::strdup_check_oom(value);
  1509     va_start(listPointer, msg);
  1509     va_start(listPointer, msg);
  1510     jio_vfprintf(defaultStream::error_stream(), msg, listPointer);
  1510     jio_vfprintf(defaultStream::error_stream(), msg, listPointer);
  1511     va_end(listPointer);
  1511     va_end(listPointer);
  1512   }
  1512   }
  1513 }
  1513 }
  1514