MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / rust_assembler

Function rust_assembler

cranelift/assembler-x64/meta/src/generate.rs:12–30  ·  view source on GitHub ↗

Generate the Rust assembler code; e.g., `enum Inst { ... }`.

(f: &mut Formatter, insts: &[dsl::Inst])

Source from the content-addressed store, hash-verified

10
11/// Generate the Rust assembler code; e.g., `enum Inst { ... }`.
12pub fn rust_assembler(f: &mut Formatter, insts: &[dsl::Inst]) {
13 // Generate "all instructions" enum.
14 generate_inst_enum(f, insts);
15 generate_inst_impls(f, insts);
16 generate_inst_display_impl(f, insts);
17
18 // Generate per-instruction structs.
19 f.empty_line();
20 for inst in insts {
21 inst.generate_struct(f);
22 inst.generate_struct_impl(f);
23 inst.generate_display_impl(f);
24 inst.generate_from_impl(f);
25 f.empty_line();
26 }
27
28 // Generate the `Feature` trait.
29 dsl::Feature::generate_macro(f);
30}
31
32/// `enum Inst { ... }`
33fn generate_inst_enum(f: &mut Formatter, insts: &[dsl::Inst]) {

Callers 1

generate_rust_assemblerFunction · 0.85

Calls 8

generate_inst_enumFunction · 0.85
generate_inst_implsFunction · 0.85
empty_lineMethod · 0.80
generate_structMethod · 0.80
generate_struct_implMethod · 0.80
generate_display_implMethod · 0.80
generate_from_implMethod · 0.80

Tested by

no test coverage detected