@Override public Iterator<OptionDescriptor> iterator() { // CheckStyle: stop line length check List<OptionDescriptor> options = Arrays.asList( new OptionDescriptor( "Inline", Boolean.class, "Enable inlining", HighTier.Options.class, "Inline", HighTier.Options.Inline)); // CheckStyle: resume line length check return options.iterator(); }
@Override public Iterator<OptionDescriptor> iterator() { List<OptionDescriptor> options = Arrays.asList( new OptionDescriptor( "Intrinsify", Boolean.class, "Enable use of compiler intrinsics", GraalOptions.class, "Intrinsify", GraalOptions.Intrinsify), new OptionDescriptor( "InlineMonomorphicCalls", Boolean.class, "Enable inlining of monomorphic calls", GraalOptions.class, "InlineMonomorphicCalls", GraalOptions.InlineMonomorphicCalls), new OptionDescriptor( "InlinePolymorphicCalls", Boolean.class, "Enable inlining of polymorphic calls", GraalOptions.class, "InlinePolymorphicCalls", GraalOptions.InlinePolymorphicCalls), new OptionDescriptor( "InlineMegamorphicCalls", Boolean.class, "Enable inlining of megamorphic calls", GraalOptions.class, "InlineMegamorphicCalls", GraalOptions.InlineMegamorphicCalls), new OptionDescriptor( "MegamorphicInliningMinMethodProbability", Double.class, "", GraalOptions.class, "MegamorphicInliningMinMethodProbability", GraalOptions.MegamorphicInliningMinMethodProbability), new OptionDescriptor( "MaximumDesiredSize", Integer.class, "", GraalOptions.class, "MaximumDesiredSize", GraalOptions.MaximumDesiredSize), new OptionDescriptor( "MaximumRecursiveInlining", Integer.class, "", GraalOptions.class, "MaximumRecursiveInlining", GraalOptions.MaximumRecursiveInlining), new OptionDescriptor( "BoostInliningForEscapeAnalysis", Float.class, "", GraalOptions.class, "BoostInliningForEscapeAnalysis", GraalOptions.BoostInliningForEscapeAnalysis), new OptionDescriptor( "RelevanceCapForInlining", Float.class, "", GraalOptions.class, "RelevanceCapForInlining", GraalOptions.RelevanceCapForInlining), new OptionDescriptor( "CapInheritedRelevance", Float.class, "", GraalOptions.class, "CapInheritedRelevance", GraalOptions.CapInheritedRelevance), new OptionDescriptor( "IterativeInlining", Boolean.class, "", GraalOptions.class, "IterativeInlining", GraalOptions.IterativeInlining), new OptionDescriptor( "TrivialInliningSize", Integer.class, "", GraalOptions.class, "TrivialInliningSize", GraalOptions.TrivialInliningSize), new OptionDescriptor( "MaximumInliningSize", Integer.class, "", GraalOptions.class, "MaximumInliningSize", GraalOptions.MaximumInliningSize), new OptionDescriptor( "SmallCompiledLowLevelGraphSize", Integer.class, "", GraalOptions.class, "SmallCompiledLowLevelGraphSize", GraalOptions.SmallCompiledLowLevelGraphSize), new OptionDescriptor( "LimitInlinedInvokes", Double.class, "", GraalOptions.class, "LimitInlinedInvokes", GraalOptions.LimitInlinedInvokes), new OptionDescriptor( "InlineEverything", Boolean.class, "", GraalOptions.class, "InlineEverything", GraalOptions.InlineEverything), new OptionDescriptor( "PartialEscapeAnalysis", Boolean.class, "", GraalOptions.class, "PartialEscapeAnalysis", GraalOptions.PartialEscapeAnalysis), new OptionDescriptor( "EscapeAnalysisHistogram", Boolean.class, "", GraalOptions.class, "EscapeAnalysisHistogram", GraalOptions.EscapeAnalysisHistogram), new OptionDescriptor( "EscapeAnalysisIterations", Integer.class, "", GraalOptions.class, "EscapeAnalysisIterations", GraalOptions.EscapeAnalysisIterations), new OptionDescriptor( "EscapeAnalyzeOnly", String.class, "", GraalOptions.class, "EscapeAnalyzeOnly", GraalOptions.EscapeAnalyzeOnly), new OptionDescriptor( "MaximumEscapeAnalysisArrayLength", Integer.class, "", GraalOptions.class, "MaximumEscapeAnalysisArrayLength", GraalOptions.MaximumEscapeAnalysisArrayLength), new OptionDescriptor( "PEAInliningHints", Boolean.class, "", GraalOptions.class, "PEAInliningHints", GraalOptions.PEAInliningHints), new OptionDescriptor( "TailDuplicationProbability", Double.class, "", GraalOptions.class, "TailDuplicationProbability", GraalOptions.TailDuplicationProbability), new OptionDescriptor( "TailDuplicationTrivialSize", Integer.class, "", GraalOptions.class, "TailDuplicationTrivialSize", GraalOptions.TailDuplicationTrivialSize), new OptionDescriptor( "DeoptsToDisableOptimisticOptimization", Integer.class, "", GraalOptions.class, "DeoptsToDisableOptimisticOptimization", GraalOptions.DeoptsToDisableOptimisticOptimization), new OptionDescriptor( "CompileTheWorld", String.class, "", GraalOptions.class, "CompileTheWorld", GraalOptions.CompileTheWorld), new OptionDescriptor( "CompileTheWorldStartAt", Integer.class, "", GraalOptions.class, "CompileTheWorldStartAt", GraalOptions.CompileTheWorldStartAt), new OptionDescriptor( "CompileTheWorldStopAt", Integer.class, "", GraalOptions.class, "CompileTheWorldStopAt", GraalOptions.CompileTheWorldStopAt), new OptionDescriptor( "CacheGraphs", Boolean.class, "", GraalOptions.class, "CacheGraphs", GraalOptions.CacheGraphs), new OptionDescriptor( "GraphCacheSize", Integer.class, "", GraalOptions.class, "GraphCacheSize", GraalOptions.GraphCacheSize), new OptionDescriptor( "PrintGraphCache", Boolean.class, "", GraalOptions.class, "PrintGraphCache", GraalOptions.PrintGraphCache), new OptionDescriptor( "LoopPeeling", Boolean.class, "", GraalOptions.class, "LoopPeeling", GraalOptions.LoopPeeling), new OptionDescriptor( "ReassociateInvariants", Boolean.class, "", GraalOptions.class, "ReassociateInvariants", GraalOptions.ReassociateInvariants), new OptionDescriptor( "FullUnroll", Boolean.class, "", GraalOptions.class, "FullUnroll", GraalOptions.FullUnroll), new OptionDescriptor( "LoopUnswitch", Boolean.class, "", GraalOptions.class, "LoopUnswitch", GraalOptions.LoopUnswitch), new OptionDescriptor( "FullUnrollMaxNodes", Integer.class, "", GraalOptions.class, "FullUnrollMaxNodes", GraalOptions.FullUnrollMaxNodes), new OptionDescriptor( "ExactFullUnrollMaxNodes", Integer.class, "", GraalOptions.class, "ExactFullUnrollMaxNodes", GraalOptions.ExactFullUnrollMaxNodes), new OptionDescriptor( "MinimumPeelProbability", Float.class, "", GraalOptions.class, "MinimumPeelProbability", GraalOptions.MinimumPeelProbability), new OptionDescriptor( "LoopMaxUnswitch", Integer.class, "", GraalOptions.class, "LoopMaxUnswitch", GraalOptions.LoopMaxUnswitch), new OptionDescriptor( "LoopUnswitchMaxIncrease", Integer.class, "", GraalOptions.class, "LoopUnswitchMaxIncrease", GraalOptions.LoopUnswitchMaxIncrease), new OptionDescriptor( "LoopUnswitchUncertaintyBoost", Integer.class, "", GraalOptions.class, "LoopUnswitchUncertaintyBoost", GraalOptions.LoopUnswitchUncertaintyBoost), new OptionDescriptor( "UseLoopLimitChecks", Boolean.class, "", GraalOptions.class, "UseLoopLimitChecks", GraalOptions.UseLoopLimitChecks), new OptionDescriptor( "ZapStackOnMethodEntry", Boolean.class, "", GraalOptions.class, "ZapStackOnMethodEntry", GraalOptions.ZapStackOnMethodEntry), new OptionDescriptor( "DeoptALot", Boolean.class, "", GraalOptions.class, "DeoptALot", GraalOptions.DeoptALot), new OptionDescriptor( "VerifyPhases", Boolean.class, "", GraalOptions.class, "VerifyPhases", GraalOptions.VerifyPhases), new OptionDescriptor( "PrintFilter", String.class, "", GraalOptions.class, "PrintFilter", GraalOptions.PrintFilter), new OptionDescriptor( "BootstrapReplacements", Boolean.class, "", GraalOptions.class, "BootstrapReplacements", GraalOptions.BootstrapReplacements), new OptionDescriptor( "GCDebugStartCycle", Integer.class, "", GraalOptions.class, "GCDebugStartCycle", GraalOptions.GCDebugStartCycle), new OptionDescriptor( "PrintBinaryGraphs", Boolean.class, "", GraalOptions.class, "PrintBinaryGraphs", GraalOptions.PrintBinaryGraphs), new OptionDescriptor( "PrintGraphProbabilities", Boolean.class, "outputs probabilities for fixed nodes during binary graph dumping", GraalOptions.class, "PrintGraphProbabilities", GraalOptions.PrintGraphProbabilities), new OptionDescriptor( "PrintCFG", Boolean.class, "", GraalOptions.class, "PrintCFG", GraalOptions.PrintCFG), new OptionDescriptor( "PrintIdealGraphFile", Boolean.class, "", GraalOptions.class, "PrintIdealGraphFile", GraalOptions.PrintIdealGraphFile), new OptionDescriptor( "PrintIdealGraphAddress", String.class, "", GraalOptions.class, "PrintIdealGraphAddress", GraalOptions.PrintIdealGraphAddress), new OptionDescriptor( "PrintIdealGraphPort", Integer.class, "", GraalOptions.class, "PrintIdealGraphPort", GraalOptions.PrintIdealGraphPort), new OptionDescriptor( "PrintBinaryGraphPort", Integer.class, "", GraalOptions.class, "PrintBinaryGraphPort", GraalOptions.PrintBinaryGraphPort), new OptionDescriptor( "PrintCompilation", Boolean.class, "", GraalOptions.class, "PrintCompilation", GraalOptions.PrintCompilation), new OptionDescriptor( "PrintProfilingInformation", Boolean.class, "", GraalOptions.class, "PrintProfilingInformation", GraalOptions.PrintProfilingInformation), new OptionDescriptor( "PrintIRWithLIR", Boolean.class, "", GraalOptions.class, "PrintIRWithLIR", GraalOptions.PrintIRWithLIR), new OptionDescriptor( "PrintCodeBytes", Boolean.class, "", GraalOptions.class, "PrintCodeBytes", GraalOptions.PrintCodeBytes), new OptionDescriptor( "PrintBailout", Boolean.class, "", GraalOptions.class, "PrintBailout", GraalOptions.PrintBailout), new OptionDescriptor( "TraceLinearScanLevel", Integer.class, "", GraalOptions.class, "TraceLinearScanLevel", GraalOptions.TraceLinearScanLevel), new OptionDescriptor( "TraceLIRGeneratorLevel", Integer.class, "", GraalOptions.class, "TraceLIRGeneratorLevel", GraalOptions.TraceLIRGeneratorLevel), new OptionDescriptor( "TraceEscapeAnalysis", Boolean.class, "", GraalOptions.class, "TraceEscapeAnalysis", GraalOptions.TraceEscapeAnalysis), new OptionDescriptor( "TraceBytecodeParserLevel", Integer.class, "", GraalOptions.class, "TraceBytecodeParserLevel", GraalOptions.TraceBytecodeParserLevel), new OptionDescriptor( "ExitVMOnBailout", Boolean.class, "", GraalOptions.class, "ExitVMOnBailout", GraalOptions.ExitVMOnBailout), new OptionDescriptor( "ExitVMOnException", Boolean.class, "", GraalOptions.class, "ExitVMOnException", GraalOptions.ExitVMOnException), new OptionDescriptor( "PrintStackTraceOnException", Boolean.class, "", GraalOptions.class, "PrintStackTraceOnException", GraalOptions.PrintStackTraceOnException), new OptionDescriptor( "DecompileAfterPhase", String.class, "Sets a phase after which the decompiler dumps the graph, -G:Dump= required", GraalOptions.class, "DecompileAfterPhase", GraalOptions.DecompileAfterPhase), new OptionDescriptor( "HotSpotPrintCompilation", Boolean.class, "", GraalOptions.class, "HotSpotPrintCompilation", GraalOptions.HotSpotPrintCompilation), new OptionDescriptor( "HotSpotPrintInlining", Boolean.class, "", GraalOptions.class, "HotSpotPrintInlining", GraalOptions.HotSpotPrintInlining), new OptionDescriptor( "RegisterPressure", String.class, "", GraalOptions.class, "RegisterPressure", GraalOptions.RegisterPressure), new OptionDescriptor( "ConditionalElimination", Boolean.class, "", GraalOptions.class, "ConditionalElimination", GraalOptions.ConditionalElimination), new OptionDescriptor( "UseProfilingInformation", Boolean.class, "", GraalOptions.class, "UseProfilingInformation", GraalOptions.UseProfilingInformation), new OptionDescriptor( "RemoveNeverExecutedCode", Boolean.class, "", GraalOptions.class, "RemoveNeverExecutedCode", GraalOptions.RemoveNeverExecutedCode), new OptionDescriptor( "UseExceptionProbability", Boolean.class, "", GraalOptions.class, "UseExceptionProbability", GraalOptions.UseExceptionProbability), new OptionDescriptor( "UseExceptionProbabilityForOperations", Boolean.class, "", GraalOptions.class, "UseExceptionProbabilityForOperations", GraalOptions.UseExceptionProbabilityForOperations), new OptionDescriptor( "OmitHotExceptionStacktrace", Boolean.class, "", GraalOptions.class, "OmitHotExceptionStacktrace", GraalOptions.OmitHotExceptionStacktrace), new OptionDescriptor( "GenSafepoints", Boolean.class, "", GraalOptions.class, "GenSafepoints", GraalOptions.GenSafepoints), new OptionDescriptor( "GenLoopSafepoints", Boolean.class, "", GraalOptions.class, "GenLoopSafepoints", GraalOptions.GenLoopSafepoints), new OptionDescriptor( "UseTypeCheckHints", Boolean.class, "", GraalOptions.class, "UseTypeCheckHints", GraalOptions.UseTypeCheckHints), new OptionDescriptor( "InlineVTableStubs", Boolean.class, "", GraalOptions.class, "InlineVTableStubs", GraalOptions.InlineVTableStubs), new OptionDescriptor( "AlwaysInlineVTableStubs", Boolean.class, "", GraalOptions.class, "AlwaysInlineVTableStubs", GraalOptions.AlwaysInlineVTableStubs), new OptionDescriptor( "GenAssertionCode", Boolean.class, "", GraalOptions.class, "GenAssertionCode", GraalOptions.GenAssertionCode), new OptionDescriptor( "AlignCallsForPatching", Boolean.class, "", GraalOptions.class, "AlignCallsForPatching", GraalOptions.AlignCallsForPatching), new OptionDescriptor( "ResolveClassBeforeStaticInvoke", Boolean.class, "", GraalOptions.class, "ResolveClassBeforeStaticInvoke", GraalOptions.ResolveClassBeforeStaticInvoke), new OptionDescriptor( "CanOmitFrame", Boolean.class, "", GraalOptions.class, "CanOmitFrame", GraalOptions.CanOmitFrame), new OptionDescriptor( "SafepointPollOffset", Integer.class, "", GraalOptions.class, "SafepointPollOffset", GraalOptions.SafepointPollOffset), new OptionDescriptor( "MemoryAwareScheduling", Boolean.class, "", GraalOptions.class, "MemoryAwareScheduling", GraalOptions.MemoryAwareScheduling), new OptionDescriptor( "NewMemoryAwareScheduling", Boolean.class, "", GraalOptions.class, "NewMemoryAwareScheduling", GraalOptions.NewMemoryAwareScheduling), new OptionDescriptor( "MinimumJumpTableSize", Integer.class, "", GraalOptions.class, "MinimumJumpTableSize", GraalOptions.MinimumJumpTableSize), new OptionDescriptor( "RangeTestsSwitchDensity", Integer.class, "", GraalOptions.class, "RangeTestsSwitchDensity", GraalOptions.RangeTestsSwitchDensity), new OptionDescriptor( "MinTableSwitchDensity", Double.class, "", GraalOptions.class, "MinTableSwitchDensity", GraalOptions.MinTableSwitchDensity), new OptionDescriptor( "AOTCompilation", Boolean.class, "configure compiler to emit code compatible with AOT requirements for HotSpot", GraalOptions.class, "AOTCompilation", GraalOptions.AOTCompilation), new OptionDescriptor( "StackShadowPages", Integer.class, "", GraalOptions.class, "StackShadowPages", GraalOptions.StackShadowPages), new OptionDescriptor( "SupportJsrBytecodes", Boolean.class, "", GraalOptions.class, "SupportJsrBytecodes", GraalOptions.SupportJsrBytecodes), new OptionDescriptor( "OptAssumptions", Boolean.class, "", GraalOptions.class, "OptAssumptions", GraalOptions.OptAssumptions), new OptionDescriptor( "OptConvertDeoptsToGuards", Boolean.class, "", GraalOptions.class, "OptConvertDeoptsToGuards", GraalOptions.OptConvertDeoptsToGuards), new OptionDescriptor( "OptReadElimination", Boolean.class, "", GraalOptions.class, "OptReadElimination", GraalOptions.OptReadElimination), new OptionDescriptor( "OptCanonicalizer", Boolean.class, "", GraalOptions.class, "OptCanonicalizer", GraalOptions.OptCanonicalizer), new OptionDescriptor( "OptScheduleOutOfLoops", Boolean.class, "", GraalOptions.class, "OptScheduleOutOfLoops", GraalOptions.OptScheduleOutOfLoops), new OptionDescriptor( "OptEliminateGuards", Boolean.class, "", GraalOptions.class, "OptEliminateGuards", GraalOptions.OptEliminateGuards), new OptionDescriptor( "OptEliminateSafepoints", Boolean.class, "", GraalOptions.class, "OptEliminateSafepoints", GraalOptions.OptEliminateSafepoints), new OptionDescriptor( "OptImplicitNullChecks", Boolean.class, "", GraalOptions.class, "OptImplicitNullChecks", GraalOptions.OptImplicitNullChecks), new OptionDescriptor( "OptLivenessAnalysis", Boolean.class, "", GraalOptions.class, "OptLivenessAnalysis", GraalOptions.OptLivenessAnalysis), new OptionDescriptor( "OptLoopTransform", Boolean.class, "", GraalOptions.class, "OptLoopTransform", GraalOptions.OptLoopTransform), new OptionDescriptor( "OptFloatingReads", Boolean.class, "", GraalOptions.class, "OptFloatingReads", GraalOptions.OptFloatingReads), new OptionDescriptor( "OptTailDuplication", Boolean.class, "", GraalOptions.class, "OptTailDuplication", GraalOptions.OptTailDuplication), new OptionDescriptor( "OptEliminatePartiallyRedundantGuards", Boolean.class, "", GraalOptions.class, "OptEliminatePartiallyRedundantGuards", GraalOptions.OptEliminatePartiallyRedundantGuards), new OptionDescriptor( "OptFilterProfiledTypes", Boolean.class, "", GraalOptions.class, "OptFilterProfiledTypes", GraalOptions.OptFilterProfiledTypes), new OptionDescriptor( "OptDevirtualizeInvokesOptimistically", Boolean.class, "", GraalOptions.class, "OptDevirtualizeInvokesOptimistically", GraalOptions.OptDevirtualizeInvokesOptimistically), new OptionDescriptor( "OptPushThroughPi", Boolean.class, "", GraalOptions.class, "OptPushThroughPi", GraalOptions.OptPushThroughPi), new OptionDescriptor( "IntrinsifyObjectClone", Boolean.class, "", GraalOptions.class, "IntrinsifyObjectClone", GraalOptions.IntrinsifyObjectClone), new OptionDescriptor( "IntrinsifyArrayCopy", Boolean.class, "", GraalOptions.class, "IntrinsifyArrayCopy", GraalOptions.IntrinsifyArrayCopy), new OptionDescriptor( "IntrinsifyObjectMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyObjectMethods", GraalOptions.IntrinsifyObjectMethods), new OptionDescriptor( "IntrinsifySystemMethods", Boolean.class, "", GraalOptions.class, "IntrinsifySystemMethods", GraalOptions.IntrinsifySystemMethods), new OptionDescriptor( "IntrinsifyClassMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyClassMethods", GraalOptions.IntrinsifyClassMethods), new OptionDescriptor( "IntrinsifyThreadMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyThreadMethods", GraalOptions.IntrinsifyThreadMethods), new OptionDescriptor( "IntrinsifyUnsafeMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyUnsafeMethods", GraalOptions.IntrinsifyUnsafeMethods), new OptionDescriptor( "IntrinsifyMathMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyMathMethods", GraalOptions.IntrinsifyMathMethods), new OptionDescriptor( "IntrinsifyAESMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyAESMethods", GraalOptions.IntrinsifyAESMethods), new OptionDescriptor( "IntrinsifyReflectionMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyReflectionMethods", GraalOptions.IntrinsifyReflectionMethods), new OptionDescriptor( "IntrinsifyInstalledCodeMethods", Boolean.class, "", GraalOptions.class, "IntrinsifyInstalledCodeMethods", GraalOptions.IntrinsifyInstalledCodeMethods), new OptionDescriptor( "IntrinsifyCallSiteTarget", Boolean.class, "", GraalOptions.class, "IntrinsifyCallSiteTarget", GraalOptions.IntrinsifyCallSiteTarget), new OptionDescriptor( "SnippetCounters", Boolean.class, "", GraalOptions.class, "SnippetCounters", GraalOptions.SnippetCounters), new OptionDescriptor( "CheckcastMinHintHitProbability", Double.class, "", GraalOptions.class, "CheckcastMinHintHitProbability", GraalOptions.CheckcastMinHintHitProbability), new OptionDescriptor( "CheckcastMaxHints", Integer.class, "", GraalOptions.class, "CheckcastMaxHints", GraalOptions.CheckcastMaxHints), new OptionDescriptor( "InstanceOfMinHintHitProbability", Double.class, "", GraalOptions.class, "InstanceOfMinHintHitProbability", GraalOptions.InstanceOfMinHintHitProbability), new OptionDescriptor( "InstanceOfMaxHints", Integer.class, "", GraalOptions.class, "InstanceOfMaxHints", GraalOptions.InstanceOfMaxHints)); return options.iterator(); }