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:
AnyCPUwith runtime architecture detection - Current: Platform-agnostic IL with JIT compilation
§References
- ECMA-335 II.22.4 -
AssemblyProcessortable specification (Table ID = 0x21)
Aliased Type§
pub struct AssemblyProcessor {
pub rid: u32,
pub token: Token,
pub offset: usize,
pub processor: u32,
}Fields§
§rid: u32Row 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: TokenMetadata 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: usizeByte 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: u32Processor 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.