Class MemoryIntrinsics
Supports creating, recognizing and parsing memory manipulation intrinsics.
Inheritance
System.Object
MemoryIntrinsics
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Flame.Compiler.Instructions
Assembly: Flame.Compiler.dll
Syntax
public static class MemoryIntrinsics
Fields
| Improve this Doc View SourceNamespace
The namespace for intrinsics that inspect or manipulate memory.
Declaration
public static readonly IntrinsicNamespace Namespace
Field Value
Type | Description |
---|---|
IntrinsicNamespace |
Methods
| Improve this Doc View SourceCreateAllocaPinnedPrototype(IType)
Creates an instruction prototype that allocates a function-local variable that is pinned; the GC is not allowed to move the contents of the local.
Declaration
public static IntrinsicPrototype CreateAllocaPinnedPrototype(IType elementType)
Parameters
Type | Name | Description |
---|---|---|
IType | elementType | The type of value to store in the pinned variable. |
Returns
Type | Description |
---|---|
IntrinsicPrototype | An alloca-pinned instruction prototype. |
CreatePrototype(String, IType, IReadOnlyList<IType>)
Creates a memory intrinsic prototype.
Declaration
public static IntrinsicPrototype CreatePrototype(string operatorName, IType resultType, IReadOnlyList<IType> parameterTypes)
Parameters
Type | Name | Description |
---|---|---|
System.String | operatorName | The name of the operator represented by the memory intrinsic. |
IType | resultType | The type of value produced by the intrinsic to create. |
System.Collections.Generic.IReadOnlyList<IType> | parameterTypes | The types of the values the intrinsic takes as arguments. |
Returns
Type | Description |
---|---|
IntrinsicPrototype | A memory intrinsic prototype. |