package org.graalvm.compiler.hotspot.meta;
import java.util.*;
import org.graalvm.compiler.options.*;
import org.graalvm.compiler.options.OptionType;
public class HotSpotAOTProfilingPlugin_OptionDescriptors implements OptionDescriptors {
@Override
public OptionDescriptor get(String value) {
switch (value) {
case "TierABackedgeNotifyFreqLog": {
return OptionDescriptor.create(
"TierABackedgeNotifyFreqLog",
OptionType.Expert,
Integer.class,
"Backedge notification frequency",
HotSpotAOTProfilingPlugin.Options.class,
"TierABackedgeNotifyFreqLog",
HotSpotAOTProfilingPlugin.Options.TierABackedgeNotifyFreqLog);
}
case "TierABackedgeProfileProbabilityLog": {
return OptionDescriptor.create(
"TierABackedgeProfileProbabilityLog",
OptionType.Expert,
Integer.class,
"Backedge profile probability",
HotSpotAOTProfilingPlugin.Options.class,
"TierABackedgeProfileProbabilityLog",
HotSpotAOTProfilingPlugin.Options.TierABackedgeProfileProbabilityLog);
}
case "TierAInvokeInlineeNotifyFreqLog": {
return OptionDescriptor.create(
"TierAInvokeInlineeNotifyFreqLog",
OptionType.Expert,
Integer.class,
"Inlinee invocation notification frequency (-1 means count, but do not notify)",
HotSpotAOTProfilingPlugin.Options.class,
"TierAInvokeInlineeNotifyFreqLog",
HotSpotAOTProfilingPlugin.Options.TierAInvokeInlineeNotifyFreqLog);
}
case "TierAInvokeNotifyFreqLog": {
return OptionDescriptor.create(
"TierAInvokeNotifyFreqLog",
OptionType.Expert,
Integer.class,
"Invocation notification frequency",
HotSpotAOTProfilingPlugin.Options.class,
"TierAInvokeNotifyFreqLog",
HotSpotAOTProfilingPlugin.Options.TierAInvokeNotifyFreqLog);
}
case "TierAInvokeProfileProbabilityLog": {
return OptionDescriptor.create(
"TierAInvokeProfileProbabilityLog",
OptionType.Expert,
Integer.class,
"Invocation profile probability",
HotSpotAOTProfilingPlugin.Options.class,
"TierAInvokeProfileProbabilityLog",
HotSpotAOTProfilingPlugin.Options.TierAInvokeProfileProbabilityLog);
}
case "TieredAOT": {
return OptionDescriptor.create(
"TieredAOT",
OptionType.User,
Boolean.class,
"Do profiling and callbacks to tiered runtime",
HotSpotAOTProfilingPlugin.Options.class,
"TieredAOT",
HotSpotAOTProfilingPlugin.Options.TieredAOT);
}
}
return null;
}
@Override
public Iterator<OptionDescriptor> iterator() {
return new Iterator<OptionDescriptor>() {
int i = 0;
@Override
public boolean hasNext() {
return i < 6;
}
@Override
public OptionDescriptor next() {
switch (i++) {
case 0: return get("TierABackedgeNotifyFreqLog");
case 1: return get("TierABackedgeProfileProbabilityLog");
case 2: return get("TierAInvokeInlineeNotifyFreqLog");
case 3: return get("TierAInvokeNotifyFreqLog");
case 4: return get("TierAInvokeProfileProbabilityLog");
case 5: return get("TieredAOT");
}
throw new NoSuchElementException();
}
};
}
}