Expand description
Target configuration
Structs§
- This is the target that we will use for compiling the WebAssembly ModuleInfo, and then run it.
- A target “triple”. Historically such things had three fields, though they’ve added additional fields over time.
Enums§
- The “architecture” field, which in some cases also specifies a specific subarchitecture.
- The “binary format” field, which is usually omitted, and the binary format is implied by the other fields.
- The calling convention, which specifies things like which registers are used for passing arguments, which registers are callee-saved, and so on.
- The nomenclature is inspired by the
cpuid
crate. The list of supported features was initially retrieved fromcranelift-native
. - The target memory endianness.
- The “environment” field, which specifies an ABI environment on top of the operating system. In many configurations, this field is omitted, and the environment is implied by the operating system.
- The “operating system” field, which sometimes implies an environment, and sometimes isn’t an actual operating system.
- The width of a pointer (in the default address space).
- The “vendor” field, which in practice is little more than an arbitrary modifier.