scala.scalanative.nir
Type members
Classlikes
- Companion:
- object
Analysis that's used to answer following questions:
Analysis that's used to answer following questions:
-
What are the predecessors of given block?
-
What are the successors of given block?
A definition in NIR.
A definition in NIR.
Programs in NIR are represented as a sequence of definitions denoting types, methods and fields. Definitions fall into two categories:
- Top-level definitions: these represent classes, modules, traits, or global variables and constants.
- Member definitions: these represent fields or methods.
Classes and modules inherit from a single parent with the exception of
java.lang.Object, which sits at the top of the hierarchy. They may
additionally implement traits.
Definitions may also carry attributes providing further information about their semantics (e.g., whether a method may be inlined). Attributes are also used to mark special-purpose definitions, such as stubs, proxies and FFIs.
- Companion:
- object
The identifier of a type or method (aka a symbol).
The identifier of a type or method (aka a symbol).
- Companion:
- object
A class to build sequences of NIR instructions.
A class to build sequences of NIR instructions.
An atomic memory ordering constraints.
An atomic memory ordering constraints.
Atomic instructions take ordering parameters specifying with which other instructions they synchronize.
- See also:
- Companion:
- object
The identifier of a lexical scope.
The identifier of a lexical scope.
- Companion:
- object
Types
A map from SSA identifier to its name in program sources.
A map from SSA identifier to its name in program sources.
Local variables get lowered to an static assignment that is assigned to a unique identifier in the context of its definition. Instances of this type are used to maintain the correspondance between an SSA ID and its corresponding name in program sources.