--- old/src/share/vm/runtime/globals_extension.hpp 2016-03-15 14:24:02.086791825 +0100 +++ new/src/share/vm/runtime/globals_extension.hpp 2016-03-15 14:24:01.970786952 +0100 @@ -290,6 +290,12 @@ #define FLAG_SET_CMDLINE(type, name, value) (CommandLineFlagsEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value), Flag::COMMAND_LINE)) #define FLAG_SET_ERGO(type, name, value) (CommandLineFlagsEx::type##AtPut(FLAG_MEMBER_WITH_TYPE(name,type), (type)(value), Flag::ERGONOMIC)) +#define FLAG_SET_ERGO_IF_DEFAULT(type, name, value) \ + do { \ + if (FLAG_IS_DEFAULT(name)) { \ + FLAG_SET_ERGO(type, name, value); \ + } \ + } while (0) // Can't put the following in CommandLineFlags because // of a circular dependency on the enum definition.