Type Alias AssemblyProcessor

pub type AssemblyProcessor = AssemblyProcessorRaw;
Expand description

Processor architecture targeting information for assemblies

Type alias to crate::metadata::tables::assemblyprocessor::raw::AssemblyProcessorRaw since the AssemblyProcessor table contains only primitive values that don’t require heap resolution. All data in the raw structure is immediately usable.

The AssemblyProcessor table specifies which CPU architectures this assembly is designed to run on, though this information is rarely used in modern .NET applications which rely on AnyCPU compilation and runtime JIT optimization instead.

§Data Model

Unlike other metadata tables that reference string or blob heaps, AssemblyProcessor contains only integer values, making the “raw” and “owned” representations identical.

§Architecture Evolution

  • Legacy: Explicit x86, x64, IA64 targeting in metadata
  • Modern: AnyCPU with runtime architecture detection
  • Current: Platform-agnostic IL with JIT compilation

§References

Aliased Type§

pub struct AssemblyProcessor {
    pub rid: u32,
    pub token: Token,
    pub offset: usize,
    pub processor: u32,
}

Fields§

§rid: u32

Row identifier within the AssemblyProcessor metadata table

The 1-based index of this AssemblyProcessor row. Multiple processor targets can be specified, though this is rarely used in modern .NET assemblies.

§token: Token

Metadata token for this AssemblyProcessor row

Combines the table identifier (0x21 for AssemblyProcessor) with the row ID to create a unique token. Format: 0x21000000 | rid

§offset: usize

Byte offset of this row within the metadata tables stream

Physical location of the raw AssemblyProcessor data within the metadata binary format. Used for debugging and low-level metadata analysis.

§processor: u32

Processor architecture identifier

4-byte value identifying the target CPU architecture. The specific values are not standardized in ECMA-335, but historically included identifiers for x86, x64, and IA64. Modern assemblies typically avoid explicit processor targeting in favor of AnyCPU compilation.