- 
    Enhancement 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    16
- 
        b23
                    Many JVM function take an JVMFlag::Flags parameter to indicate the origin of the flag -- i.e., "who is setting this flag". E.g., in arguments.hpp:
static bool parse_argument(const char* arg, JVMFlag::Flags origin);
However, JVMFlag::Flags contains many other bits that are unrelated to the origin. We should add a new enum JVMFlagOrigin that has only the valid values for the origin. This makes it possible to do more type-safety checks at C++ compilation time.
static bool parse_argument(const char* arg, JVMFlag::Flags origin);
However, JVMFlag::Flags contains many other bits that are unrelated to the origin. We should add a new enum JVMFlagOrigin that has only the valid values for the origin. This makes it possible to do more type-safety checks at C++ compilation time.
 
        