# Package com.oracle.truffle.api.utilities

Class Summary
AlwaysValidAssumption: An assumption that is always valid.
AssumedValue<T>: A value that the compiler can assume is constant, but can be changed by invalidation.
BinaryConditionProfile: Utility class to speculate on conditions to be never true or to be never false.
BranchProfile: Utility class to speculate on branches to be never visited.
ConditionProfile: Abstract utility class to speculate on conditions.
CountingConditionProfile: Utility class to speculate on conditions to be never true or to be never false.
CyclicAssumption: Holds an `Assumption`, and knows how to recreate it with the same properties on invalidation.
ExactClassValueProfile: Represents a `ValueProfile` that speculates on the exact class of a value.
IdentityValueProfile: Represents a `ValueProfile` that speculates on the object identity of a value.
JSONHelper: Helper function that allows to dump the AST during creation to a JSON format.
JSONHelper.JSONArrayBuilder
JSONHelper.JSONObjectBuilder
JSONHelper.JSONStringBuilder
NeverValidAssumption: An assumption that is never valid.
PrimitiveValueProfile: Represents a `ValueProfile` that speculates on the primitive equality or object identity of values.
UnionAssumption: An assumption that combines two other assumptions.
ValueProfile: Utility class to speculate on certain properties of values.