Graal options system property prefix will soon change (again)

Doug Simon doug.simon at
Fri Jan 8 15:16:43 UTC 2016

The @Option based mechanism for defining Graal options recently moved from JVMCI to Graal[1][2]. @Option annotated fields are currently initialized by parsing all “graal.option.” prefixed system properties during Graal initialization. For example, this field:

    @Option(help = "", type = OptionType.Expert)
    public static final OptionValue<Boolean> InlineEverything = new OptionValue<>(false);

will be given the value of the “graal.option.InlineEverything” system property (if present) at Graal initialization time. Note that if launching a GraalVM with mx, the -G format for options can be used[3][4].

I am now in the process of converting all explicit uses of “graal.” prefixed system properties to use @Option fields instead. Once done, I will shorten the prefix for @Option values to simply be “graal.”. This means “graal.” will effectively be reserved in the system property key space for Graal (as “graal.option.” is now). Any “graal.” system property found that doesn’t correspond with an @Option field will cause GraalVM to exit.

This heads up is to give you a chance to take action if you are currently using “graal.” system properties outside of Graal.



More information about the graal-dev mailing list