Coverage Report

Created: 2026-10-31 07:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wasmtime/winch/codegen/src/regalloc.rs
Line
Count
Source
1
use crate::{
2
    Result,
3
    codegen::CodeGenError,
4
    format_err,
5
    isa::reg::{Reg, RegClass},
6
    regset::{RegBitSet, RegSet},
7
};
8
9
/// The register allocator.
10
///
11
/// The register allocator uses a single-pass algorithm;
12
/// its implementation uses a bitset as a freelist
13
/// to track per-class register availability.
14
///
15
/// If a particular register is not available upon request
16
/// the register allocation will perform a "spill", essentially
17
/// moving Local and Register values in the stack to memory.
18
/// This process ensures that whenever a register is requested,
19
/// it is going to be available.
20
pub(crate) struct RegAlloc {
21
    /// The register set.
22
    regset: RegSet,
23
}
24
25
impl RegAlloc {
26
    /// Create a register allocator from a bit set for each register class.
27
150k
    pub fn from(gpr: RegBitSet, fpr: RegBitSet) -> Self {
28
150k
        let rs = RegSet::new(gpr, fpr);
29
150k
        Self { regset: rs }
30
150k
    }
31
32
    /// Allocate the next available register for the given class,
33
    /// spilling if not available.
34
2.95M
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
2.95M
    where
36
2.95M
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
2.95M
        match self.regset.reg_for_class(class) {
39
2.94M
            Some(reg) => Ok(reg),
40
            None => {
41
1.75k
                spill(self)?;
42
1.75k
                self.regset
43
1.75k
                    .reg_for_class(class)
44
1.75k
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::reg_for_class<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_tail_call_resize<<winch_codegen::codegen::call::FnCall>::emit_return<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_tail_call_resize<<winch_codegen::codegen::call::FnCall>::emit_return<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::spill_impl<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::pop_to_addr<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::pop_to_addr<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::move_tail_call_args<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#2}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, winch_codegen::codegen::bounds::load_dynamic_heap_bounds<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, winch_codegen::codegen::bounds::load_heap_addr_unchecked<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::unsigned_truncate::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::check_stack::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_copysign::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::signed_truncate::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::unsigned_convert::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::finish_tail_call_empty::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::or::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::add::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::and::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::cmp::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::mul::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::sub::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::xor::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::popcnt::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::epilogue::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_abs::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_neg::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::jmp_table::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::wasm_load::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::wasm_load::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_maybe_force_gc::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_push_over_approx_stack_root::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_skip_if_in_over_approx_stack_roots::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Prologue>>::copy_stack_gc_refs_to_frame::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_ref_func::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::load_memory_length::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_fuel_increment::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_typecheck_funcref::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_compute_table_size::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_compute_table_elem_addr::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_exception_alloc::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_null_gc_raw_alloc::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_null_gc_raw_alloc::{closure#2}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_null_gc_raw_alloc::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_gc_ref_bounds_check::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_skip_if_gc_ref_is_null_or_i31::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::zero_mem_range::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::memmove::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::memmove::{closure#2}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::memmove::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#1}::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::atomic_rmw::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_cmp_with_set::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_cmp_with_set::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::clz::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::ctz::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::spill_impl<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::pop_to_addr<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::unsigned_truncate::{closure#0}::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_copysign::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::signed_truncate::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_abs::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_neg::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_popcnt::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_bitselect::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::maybe_canonicalize_v128_nan::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::shuffle::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_neg::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_not::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f32x4_s::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f64x2_s_zero::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f64x2_u_zero::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#2}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#3}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_mul::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#4}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#5}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#6}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#7}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#8}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#9}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#10}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#11}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_extend::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_extend::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::replace_lane::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_convert::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_all_true::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_extadd_pairwise::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_abs::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_abs::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_max::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_min::{closure#0}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_neg::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#2}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#3}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#1}>::{closure#0}>::{closure#0}
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f32x4_u::{closure#0}>::{closure#0}>::{closure#0}
45
            }
46
        }
47
2.95M
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::reg_for_class<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>
Line
Count
Source
34
1.77M
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
1.77M
    where
36
1.77M
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
1.77M
        match self.regset.reg_for_class(class) {
39
1.77M
            Some(reg) => Ok(reg),
40
            None => {
41
1.75k
                spill(self)?;
42
1.75k
                self.regset
43
1.75k
                    .reg_for_class(class)
44
1.75k
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
1.77M
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_tail_call_resize<<winch_codegen::codegen::call::FnCall>::emit_return<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>::{closure#0}>
Line
Count
Source
34
9
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
9
    where
36
9
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
9
        match self.regset.reg_for_class(class) {
39
9
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
9
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_tail_call_resize<<winch_codegen::codegen::call::FnCall>::emit_return<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#1}>::{closure#0}>
Line
Count
Source
34
9
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
9
    where
36
9
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
9
        match self.regset.reg_for_class(class) {
39
9
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
9
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::spill_impl<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
Line
Count
Source
34
16.7k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
16.7k
    where
36
16.7k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
16.7k
        match self.regset.reg_for_class(class) {
39
16.7k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
16.7k
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::pop_to_addr<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::pop_to_addr<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#1}>::{closure#0}>
Line
Count
Source
34
91.1k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
91.1k
    where
36
91.1k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
91.1k
        match self.regset.reg_for_class(class) {
39
91.1k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
91.1k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::move_tail_call_args<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
Line
Count
Source
34
545
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
545
    where
36
545
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
545
        match self.regset.reg_for_class(class) {
39
545
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
545
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
Line
Count
Source
34
482
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
482
    where
36
482
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
482
        match self.regset.reg_for_class(class) {
39
482
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
482
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#2}>::{closure#0}>
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#1}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, winch_codegen::codegen::bounds::load_dynamic_heap_bounds<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
Line
Count
Source
34
18.8k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
18.8k
    where
36
18.8k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
18.8k
        match self.regset.reg_for_class(class) {
39
18.8k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
18.8k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, winch_codegen::codegen::bounds::load_heap_addr_unchecked<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
Line
Count
Source
34
40.2k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
40.2k
    where
36
40.2k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
40.2k
        match self.regset.reg_for_class(class) {
39
40.2k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
40.2k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::unsigned_truncate::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
11.2k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
11.2k
    where
36
11.2k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
11.2k
        match self.regset.reg_for_class(class) {
39
11.2k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
11.2k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::check_stack::{closure#0}>::{closure#0}>
Line
Count
Source
34
75.2k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
75.2k
    where
36
75.2k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
75.2k
        match self.regset.reg_for_class(class) {
39
75.2k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
75.2k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_copysign::{closure#0}>::{closure#0}>
Line
Count
Source
34
468
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
468
    where
36
468
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
468
        match self.regset.reg_for_class(class) {
39
468
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
468
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::signed_truncate::{closure#0}>::{closure#0}>
Line
Count
Source
34
6.51k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
6.51k
    where
36
6.51k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
6.51k
        match self.regset.reg_for_class(class) {
39
6.51k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
6.51k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::unsigned_convert::{closure#0}>::{closure#0}>
Line
Count
Source
34
7.04k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
7.04k
    where
36
7.04k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
7.04k
        match self.regset.reg_for_class(class) {
39
7.04k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
7.04k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::finish_tail_call_empty::{closure#0}>::{closure#0}>
Line
Count
Source
34
3
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
3
    where
36
3
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
3
        match self.regset.reg_for_class(class) {
39
3
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
3
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::or::{closure#0}>::{closure#0}>
Line
Count
Source
34
420
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
420
    where
36
420
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
420
        match self.regset.reg_for_class(class) {
39
420
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
420
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::add::{closure#0}>::{closure#0}>
Line
Count
Source
34
477
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
477
    where
36
477
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
477
        match self.regset.reg_for_class(class) {
39
477
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
477
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::and::{closure#0}>::{closure#0}>
Line
Count
Source
34
11.6k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
11.6k
    where
36
11.6k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
11.6k
        match self.regset.reg_for_class(class) {
39
11.6k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
11.6k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::cmp::{closure#0}>::{closure#0}>
Line
Count
Source
34
9.77k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
9.77k
    where
36
9.77k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
9.77k
        match self.regset.reg_for_class(class) {
39
9.77k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
9.77k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::mul::{closure#0}>::{closure#0}>
Line
Count
Source
34
6.48k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
6.48k
    where
36
6.48k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
6.48k
        match self.regset.reg_for_class(class) {
39
6.48k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
6.48k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::sub::{closure#0}>::{closure#0}>
Line
Count
Source
34
150
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
150
    where
36
150
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
150
        match self.regset.reg_for_class(class) {
39
150
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
150
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::xor::{closure#0}>::{closure#0}>
Line
Count
Source
34
340
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
340
    where
36
340
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
340
        match self.regset.reg_for_class(class) {
39
340
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
340
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::popcnt::{closure#0}>::{closure#0}>
Line
Count
Source
34
8.46k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
8.46k
    where
36
8.46k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
8.46k
        match self.regset.reg_for_class(class) {
39
8.46k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
8.46k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::epilogue::{closure#0}>::{closure#0}>
Line
Count
Source
34
26.3k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
26.3k
    where
36
26.3k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
26.3k
        match self.regset.reg_for_class(class) {
39
26.3k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
26.3k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_abs::{closure#0}>::{closure#0}>
Line
Count
Source
34
38.2k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
38.2k
    where
36
38.2k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
38.2k
        match self.regset.reg_for_class(class) {
39
38.2k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
38.2k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_neg::{closure#0}>::{closure#0}>
Line
Count
Source
34
6.78k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
6.78k
    where
36
6.78k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
6.78k
        match self.regset.reg_for_class(class) {
39
6.78k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
6.78k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::jmp_table::{closure#0}>::{closure#0}>
Line
Count
Source
34
517
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
517
    where
36
517
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
517
        match self.regset.reg_for_class(class) {
39
517
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
517
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::wasm_load::{closure#0}>::{closure#0}>
Line
Count
Source
34
35
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
35
    where
36
35
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
35
        match self.regset.reg_for_class(class) {
39
35
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
35
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::wasm_load::{closure#1}>::{closure#0}>
Line
Count
Source
34
185
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
185
    where
36
185
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
185
        match self.regset.reg_for_class(class) {
39
185
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
185
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_maybe_force_gc::{closure#0}>::{closure#0}>
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_push_over_approx_stack_root::{closure#0}>::{closure#0}>
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_skip_if_in_over_approx_stack_roots::{closure#0}>::{closure#0}>
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Prologue>>::copy_stack_gc_refs_to_frame::{closure#0}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_ref_func::{closure#0}>::{closure#0}>
Line
Count
Source
34
180
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
180
    where
36
180
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
180
        match self.regset.reg_for_class(class) {
39
180
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
180
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::load_memory_length::{closure#0}>::{closure#0}>
Line
Count
Source
34
50.0k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
50.0k
    where
36
50.0k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
50.0k
        match self.regset.reg_for_class(class) {
39
50.0k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
50.0k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_fuel_increment::{closure#0}>::{closure#0}>
Line
Count
Source
34
289k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
289k
    where
36
289k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
289k
        match self.regset.reg_for_class(class) {
39
289k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
289k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_typecheck_funcref::{closure#0}>::{closure#0}>
Line
Count
Source
34
228
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
228
    where
36
228
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
228
        match self.regset.reg_for_class(class) {
39
228
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
228
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_compute_table_size::{closure#0}>::{closure#0}>
Line
Count
Source
34
28
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
28
    where
36
28
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
28
        match self.regset.reg_for_class(class) {
39
28
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
28
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_compute_table_elem_addr::{closure#0}>::{closure#0}>
Line
Count
Source
34
262
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
262
    where
36
262
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
262
        match self.regset.reg_for_class(class) {
39
262
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
262
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_exception_alloc::{closure#0}>::{closure#0}>
Line
Count
Source
34
6
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
6
    where
36
6
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
6
        match self.regset.reg_for_class(class) {
39
6
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
6
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_null_gc_raw_alloc::{closure#0}>::{closure#0}>
Line
Count
Source
34
233
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
233
    where
36
233
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
233
        match self.regset.reg_for_class(class) {
39
233
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
233
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_null_gc_raw_alloc::{closure#2}>::{closure#0}>
Line
Count
Source
34
233
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
233
    where
36
233
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
233
        match self.regset.reg_for_class(class) {
39
233
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
233
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_null_gc_raw_alloc::{closure#1}>::{closure#0}>
Line
Count
Source
34
233
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
233
    where
36
233
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
233
        match self.regset.reg_for_class(class) {
39
233
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
233
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_gc_ref_bounds_check::{closure#0}>::{closure#0}>
Line
Count
Source
34
3.52k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
3.52k
    where
36
3.52k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
3.52k
        match self.regset.reg_for_class(class) {
39
3.52k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
3.52k
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::CodeGen<winch_codegen::isa::x64::masm::MacroAssembler, winch_codegen::codegen::phase::Emission>>::emit_skip_if_gc_ref_is_null_or_i31::{closure#0}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::zero_mem_range::{closure#0}>::{closure#0}>
Line
Count
Source
34
12.6k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
12.6k
    where
36
12.6k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
12.6k
        match self.regset.reg_for_class(class) {
39
12.6k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
12.6k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::memmove::{closure#0}>::{closure#0}>
Line
Count
Source
34
8.76k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
8.76k
    where
36
8.76k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
8.76k
        match self.regset.reg_for_class(class) {
39
8.76k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
8.76k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::memmove::{closure#2}>::{closure#0}>
Line
Count
Source
34
98
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
98
    where
36
98
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
98
        match self.regset.reg_for_class(class) {
39
98
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
98
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::memmove::{closure#1}>::{closure#0}>
Line
Count
Source
34
14
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
14
    where
36
14
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
14
        match self.regset.reg_for_class(class) {
39
14
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
14
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#1}::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
58
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
58
    where
36
58
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
58
        match self.regset.reg_for_class(class) {
39
58
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
58
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::atomic_rmw::{closure#0}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_cmp_with_set::{closure#0}>::{closure#0}>
Line
Count
Source
34
40.7k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
40.7k
    where
36
40.7k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
40.7k
        match self.regset.reg_for_class(class) {
39
40.7k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
40.7k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_cmp_with_set::{closure#1}>::{closure#0}>
Line
Count
Source
34
7.99k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
7.99k
    where
36
7.99k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
7.99k
        match self.regset.reg_for_class(class) {
39
7.99k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
7.99k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::clz::{closure#0}>::{closure#0}>
Line
Count
Source
34
2.26k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
2.26k
    where
36
2.26k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
2.26k
        match self.regset.reg_for_class(class) {
39
2.26k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
2.26k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::ctz::{closure#0}>::{closure#0}>
Line
Count
Source
34
1.61k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
1.61k
    where
36
1.61k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
1.61k
        match self.regset.reg_for_class(class) {
39
1.61k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
1.61k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::IntScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#0}>::{closure#0}>
Line
Count
Source
34
1.55k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
1.55k
    where
36
1.55k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
1.55k
        match self.regset.reg_for_class(class) {
39
1.55k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
1.55k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::spill_impl<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
Line
Count
Source
34
9.55k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
9.55k
    where
36
9.55k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
9.55k
        match self.regset.reg_for_class(class) {
39
9.55k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
9.55k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::context::CodeGenContext<winch_codegen::codegen::phase::Emission>>::pop_to_addr<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#1}>::{closure#0}>
Line
Count
Source
34
184k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
184k
    where
36
184k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
184k
        match self.regset.reg_for_class(class) {
39
184k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
184k
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::codegen::call::FnCall>::assign<winch_codegen::isa::x64::masm::MacroAssembler>::{closure#0}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::unsigned_truncate::{closure#0}::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
11.2k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
11.2k
    where
36
11.2k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
11.2k
        match self.regset.reg_for_class(class) {
39
11.2k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
11.2k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#1}::{closure#0}>::{closure#0}>
Line
Count
Source
34
58
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
58
    where
36
58
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
58
        match self.regset.reg_for_class(class) {
39
58
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
58
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_copysign::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
468
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
468
    where
36
468
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
468
        match self.regset.reg_for_class(class) {
39
468
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
468
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::signed_truncate::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
6.51k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
6.51k
    where
36
6.51k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
6.51k
        match self.regset.reg_for_class(class) {
39
6.51k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
6.51k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_abs::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
38.2k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
38.2k
    where
36
38.2k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
38.2k
        match self.regset.reg_for_class(class) {
39
38.2k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
38.2k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::float_neg::{closure#0}::{closure#0}>::{closure#0}>
Line
Count
Source
34
6.78k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
6.78k
    where
36
6.78k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
6.78k
        match self.regset.reg_for_class(class) {
39
6.78k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
6.78k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_popcnt::{closure#0}>::{closure#0}>
Line
Count
Source
34
461
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
461
    where
36
461
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
461
        match self.regset.reg_for_class(class) {
39
461
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
461
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_bitselect::{closure#0}>::{closure#0}>
Line
Count
Source
34
278
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
278
    where
36
278
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
278
        match self.regset.reg_for_class(class) {
39
278
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
278
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::maybe_canonicalize_v128_nan::{closure#0}>::{closure#0}>
Line
Count
Source
34
1.44k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
1.44k
    where
36
1.44k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
1.44k
        match self.regset.reg_for_class(class) {
39
1.44k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
1.44k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::shuffle::{closure#0}>::{closure#0}>
Line
Count
Source
34
1
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
1
    where
36
1
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
1
        match self.regset.reg_for_class(class) {
39
1
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
1
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_neg::{closure#0}>::{closure#0}>
Line
Count
Source
34
1.38k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
1.38k
    where
36
1.38k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
1.38k
        match self.regset.reg_for_class(class) {
39
1.38k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
1.38k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_not::{closure#0}>::{closure#0}>
Line
Count
Source
34
2.30k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
2.30k
    where
36
2.30k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
2.30k
        match self.regset.reg_for_class(class) {
39
2.30k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
2.30k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f32x4_s::{closure#0}>::{closure#0}>
Line
Count
Source
34
284
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
284
    where
36
284
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
284
        match self.regset.reg_for_class(class) {
39
284
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
284
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f64x2_s_zero::{closure#0}>::{closure#0}>
Line
Count
Source
34
323
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
323
    where
36
323
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
323
        match self.regset.reg_for_class(class) {
39
323
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
323
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, core::result::Result<(), wasmtime_internal_core::error::error::Error>, <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f64x2_u_zero::{closure#0}>::{closure#0}>
Line
Count
Source
34
167
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
167
    where
36
167
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
167
        match self.regset.reg_for_class(class) {
39
167
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
167
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#2}::{closure#0}>::{closure#0}>
Line
Count
Source
34
15
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
15
    where
36
15
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
15
        match self.regset.reg_for_class(class) {
39
15
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
15
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#3}::{closure#0}>::{closure#0}>
Line
Count
Source
34
23
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
23
    where
36
23
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
23
        match self.regset.reg_for_class(class) {
39
23
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
23
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_mul::{closure#1}::{closure#0}>::{closure#0}>
Line
Count
Source
34
10
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
10
    where
36
10
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
10
        match self.regset.reg_for_class(class) {
39
10
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
10
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#4}>::{closure#0}>
Line
Count
Source
34
18
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
18
    where
36
18
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
18
        match self.regset.reg_for_class(class) {
39
18
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
18
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#5}>::{closure#0}>
Line
Count
Source
34
24
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
24
    where
36
24
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
24
        match self.regset.reg_for_class(class) {
39
24
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
24
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#6}>::{closure#0}>
Line
Count
Source
34
26
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
26
    where
36
26
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
26
        match self.regset.reg_for_class(class) {
39
26
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
26
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#7}>::{closure#0}>
Line
Count
Source
34
23
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
23
    where
36
23
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
23
        match self.regset.reg_for_class(class) {
39
23
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
23
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#8}>::{closure#0}>
Line
Count
Source
34
20
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
20
    where
36
20
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
20
        match self.regset.reg_for_class(class) {
39
20
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
20
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#9}>::{closure#0}>
Line
Count
Source
34
13
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
13
    where
36
13
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
13
        match self.regset.reg_for_class(class) {
39
13
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
13
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#10}>::{closure#0}>
Line
Count
Source
34
19
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
19
    where
36
19
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
19
        match self.regset.reg_for_class(class) {
39
19
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
19
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_shift::{closure#11}>::{closure#0}>
Line
Count
Source
34
17
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
17
    where
36
17
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
17
        match self.regset.reg_for_class(class) {
39
17
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
17
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_extend::{closure#0}>::{closure#0}>
Line
Count
Source
34
508
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
508
    where
36
508
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
508
        match self.regset.reg_for_class(class) {
39
508
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
508
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_extend::{closure#1}>::{closure#0}>
Line
Count
Source
34
174
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
174
    where
36
174
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
174
        match self.regset.reg_for_class(class) {
39
174
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
174
    }
Unexecuted instantiation: <winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::replace_lane::{closure#0}>::{closure#0}>
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_convert::{closure#0}>::{closure#0}>
Line
Count
Source
34
107
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
107
    where
36
107
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
107
        match self.regset.reg_for_class(class) {
39
107
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
107
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_all_true::{closure#0}>::{closure#0}>
Line
Count
Source
34
695
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
695
    where
36
695
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
695
        match self.regset.reg_for_class(class) {
39
695
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
695
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_extadd_pairwise::{closure#0}>::{closure#0}>
Line
Count
Source
34
509
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
509
    where
36
509
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
509
        match self.regset.reg_for_class(class) {
39
509
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
509
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_abs::{closure#0}>::{closure#0}>
Line
Count
Source
34
176
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
176
    where
36
176
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
176
        match self.regset.reg_for_class(class) {
39
176
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
176
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_abs::{closure#1}>::{closure#0}>
Line
Count
Source
34
3.18k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
3.18k
    where
36
3.18k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
3.18k
        match self.regset.reg_for_class(class) {
39
3.18k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
3.18k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_max::{closure#0}>::{closure#0}>
Line
Count
Source
34
2
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
2
    where
36
2
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
2
        match self.regset.reg_for_class(class) {
39
2
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
2
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_min::{closure#0}>::{closure#0}>
Line
Count
Source
34
4
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
4
    where
36
4
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
4
        match self.regset.reg_for_class(class) {
39
4
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
4
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::v128_neg::{closure#1}>::{closure#0}>
Line
Count
Source
34
270
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
270
    where
36
270
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
270
        match self.regset.reg_for_class(class) {
39
270
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
270
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#2}>::{closure#0}>
Line
Count
Source
34
53.4k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
53.4k
    where
36
53.4k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
53.4k
        match self.regset.reg_for_class(class) {
39
53.4k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
53.4k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#3}>::{closure#0}>
Line
Count
Source
34
15.0k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
15.0k
    where
36
15.0k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
15.0k
        match self.regset.reg_for_class(class) {
39
15.0k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
15.0k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::store_impl::{closure#1}>::{closure#0}>
Line
Count
Source
34
33.9k
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
33.9k
    where
36
33.9k
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
33.9k
        match self.regset.reg_for_class(class) {
39
33.9k
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
33.9k
    }
<winch_codegen::regalloc::RegAlloc>::reg_for_class::<<winch_codegen::isa::x64::masm::MacroAssembler as winch_codegen::masm::MacroAssembler>::with_scratch<winch_codegen::masm::FloatScratch, (), <winch_codegen::isa::x64::masm::MacroAssembler>::v128_trunc_sat_f32x4_u::{closure#0}>::{closure#0}>
Line
Count
Source
34
135
    pub fn reg_for_class<F>(&mut self, class: RegClass, spill: &mut F) -> Result<Reg>
35
135
    where
36
135
        F: FnMut(&mut RegAlloc) -> Result<()>,
37
    {
38
135
        match self.regset.reg_for_class(class) {
39
135
            Some(reg) => Ok(reg),
40
            None => {
41
0
                spill(self)?;
42
0
                self.regset
43
0
                    .reg_for_class(class)
44
0
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
45
            }
46
        }
47
135
    }
48
49
    /// Returns true if the specified register is allocatable.
50
274k
    pub fn reg_available(&self, reg: Reg) -> bool {
51
274k
        self.regset.named_reg_available(reg)
52
274k
    }
53
54
    /// Request a specific register, spilling if not available.
55
630k
    pub fn reg<F>(&mut self, named: Reg, mut spill: F) -> Result<Reg>
56
630k
    where
57
630k
        F: FnMut(&mut RegAlloc) -> Result<()>,
58
    {
59
630k
        match self.regset.reg(named) {
60
621k
            Some(reg) => Ok(reg),
61
            None => {
62
8.36k
                spill(self)?;
63
8.36k
                self.regset
64
8.36k
                    .reg(named)
65
8.36k
                    .ok_or_else(|| format_err!(CodeGenError::expected_register_to_be_available()))
66
            }
67
        }
68
630k
    }
69
70
    /// Free the given register.
71
4.09M
    pub fn free(&mut self, reg: Reg) {
72
4.09M
        self.regset.free(reg);
73
4.09M
    }
74
}