Package org.openjdk.jmh.generators.core
Class StateObjectHandler
java.lang.Object
org.openjdk.jmh.generators.core.StateObjectHandler
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map
<String, AuxCounters.Type> private final CompilerControlPlugin
private final Identifiers
private final Map
<String, StateObject> private final Multimap
<String, StateObject> private final Set
<StateObject> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addImports
(PrintWriter writer) void
bindMethods
(ClassInfo holder, MethodGroup mg) private void
bindState
(MethodInfo execMethod, StateObject so, ClassInfo ci) private void
checkHelpers
(MethodInfo mi, Class<? extends Annotation> annClass) private void
checkParam
(FieldInfo fi) static Collection
<StateObject> cons
(Collection<StateObject>... colls) getArgList
(Collection<StateObject> sos) getArgList
(MethodInfo methodInfo) getAuxResets
(MethodInfo method) getAuxResults
(MethodInfo method, String opResName) getBenchmarkArgList
(MethodInfo methodInfo) getHelperBlock
(MethodInfo method, Level helperLevel, HelperType type) getImplicit
(String label) getInvocationSetups
(MethodInfo method) getInvocationTearDowns
(MethodInfo method) getIterationSetups
(MethodInfo method) getIterationTearDowns
(MethodInfo method) getRunSetups
(MethodInfo method) getRunTearDowns
(MethodInfo method) private String
getState
(ClassInfo ci, ParameterInfo pi) getStateDestructors
(MethodInfo method) getStateGetters
(MethodInfo method) getTypeArgList
(MethodInfo methodInfo) boolean
hasInvocationStubs
(MethodInfo method) private boolean
isAuxCompatible
(String typeName) private boolean
private boolean
isParamValueConforming
(FieldInfo fi, String val, ClassInfo type) private static boolean
private void
resolveDependencies
(MethodInfo method, ClassInfo pci, StateObject pso) Recursively resolve if there are any other states referenced through helper methods.private String
private String
private LinkedHashSet
<StateObject> stateOrder
(MethodInfo method, boolean reverse) static void
validateNoCycles
(MethodInfo method) private static void
validateNoCyclesStep
(Set<StateObjectHandler.ClassQName> alreadySeen, MethodInfo method, boolean includeHolder) static void
validateState
(ClassInfo state) static void
void
-
Field Details
-
compileControl
-
identifiers
-
roots
-
specials
-
stateObjects
-
implicits
-
benchmarkArgs
-
auxNames
-
auxType
-
auxAccessors
-
auxResettable
-
-
Constructor Details
-
StateObjectHandler
-
-
Method Details
-
validateState
-
validateStateArgs
-
isSpecialClass
-
getSpecialClassAccessor
-
getState
-
bindMethods
-
validateNoCycles
-
validateNoCyclesStep
private static void validateNoCyclesStep(Set<StateObjectHandler.ClassQName> alreadySeen, MethodInfo method, boolean includeHolder) -
resolveDependencies
Recursively resolve if there are any other states referenced through helper methods. -
bindState
-
isAuxCompatible
-
checkParam
-
isParamTypeAcceptable
-
isParamValueConforming
-
checkHelpers
-
getBenchmarkArgList
-
getArgList
-
getArgList
-
getTypeArgList
-
getTypeArgList
-
cons
-
getHelperBlock
-
hasInvocationStubs
-
getInvocationSetups
-
getInvocationTearDowns
-
getIterationSetups
-
getIterationTearDowns
-
getRunSetups
-
getRunTearDowns
-
getStateInitializers
-
soDependency_TypeArgs
-
soDependency_Args
-
getStateDestructors
-
getStateGetters
-
stateOrder
-
writeStateOverrides
public void writeStateOverrides(BenchmarkGeneratorSession sess, GeneratorDestination dst) throws IOException - Throws:
IOException
-
getFields
-
getImplicit
-
addImports
-
getAuxResets
-
getAuxResults
-