Stream: git-wasmtime

Topic: wasmtime / issue #6698 Cranelift: Cannot create 128 bit c...


view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:00):

Kixiron labeled issue #6698:

I can't figure out how to create a 128bit constant. My closest attempt was by creating a 128bit vector which I then bitcast into an i128, but that doesn't work

let constant = builder.func.dfg.constants.insert(V128Imm::from(value).into());
let vector = builder.ins().vconst(types::I64X2, constant);

let mut flags = MemFlags::new();
flags.set_endianness(if cfg!(target_endian = "little") {
    Endianness::Little
} else {
    Endianness::Big
});

builder.ins().bitcast(types::I128, flags, vector)

Cranelift panics with this

thread 'codegen::vtable::tests::proptests::vtables' panicked at 'should be implemented in ISLE: inst = `v4 = bitcast.i128 little v3  ; v3 = const0`, type = `Some(types::I128)`', C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747:21
stack backtrace:
   0:     0x7ff6532aa862 - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff6532aa862 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6532aa862 - std::sys_common::backtrace::_print_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:65
   3:     0x7ff6532aa862 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:44
   4:     0x7ff6532cd36b - core::fmt::write
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\fmt\mod.rs:1208
   5:     0x7ff6532a54aa - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\io\mod.rs:1682
   6:     0x7ff6532aa5ab - std::sys_common::backtrace::_print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:47
   7:     0x7ff6532aa5ab - std::sys_common::backtrace::print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:34
   8:     0x7ff6532ad6d9 - std::panicking::default_hook::closure$1
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:267
   9:     0x7ff6532ad35b - std::panicking::default_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:286
  10:     0x7ff6532adf71 - std::panicking::rust_panic_with_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:688
  11:     0x7ff6532adcfe - std::panicking::begin_panic_handler::closure$0
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:579
  12:     0x7ff6532ab55f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:137
  13:     0x7ff6532ad9b0 - std::panicking::begin_panic_handler
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:575
  14:     0x7ff6532da8a5 - core::panicking::panic_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\panicking.rs:64
  15:     0x7ff652ff136e - cranelift_codegen::machinst::lower::impl$3::lower_clif_block::closure$0<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747
  16:     0x7ff652f3b15b - enum2$<core::option::Option<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_codegen::machinst::reg::Reg>,2> > > >::unwrap_or_else<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_c
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\option.rs:828
  17:     0x7ff652ff0c41 - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower_clif_block<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:741
  18:     0x7ff652ff33ed - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:1045
  19:     0x7ff652e7dc78 - cranelift_codegen::machinst::compile::compile<cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\compile.rs:40
  20:     0x7ff652fc1f16 - cranelift_codegen::isa::x64::X64Backend::compile_vcode
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:61
  21:     0x7ff652fc20bc - cranelift_codegen::isa::x64::impl$1::compile_function
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:73
  22:     0x7ff652f5b4d4 - cranelift_codegen::context::Context::compile_stencil
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:146
  23:     0x7ff652f5bef1 - cranelift_codegen::context::Context::compile
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:206
  24:     0x7ff652dcbe72 - cranelift_jit::backend::impl$2::define_function_with_control_plane
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-jit-0.96.4\src\backend.rs:689
  25:     0x7ff651ee1b34 - cranelift_module::module::Module::define_function<cranelift_jit::backend::JITModule>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-module-0.96.4\src\module.rs:919
  26:     0x7ff651f187a6 - dataflow_jit::codegen::Codegen::finalize_function
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\mod.rs:482
  27:     0x7ff651f156db - dataflow_jit::codegen::Codegen::codegen_layout_default
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\default.rs:148
  28:     0x7ff651f43f35 - dataflow_jit::codegen::Codegen::make_vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:113
  29:     0x7ff651f43d11 - dataflow_jit::codegen::Codegen::vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:92
  30:     0x7ff6522ab963 - dataflow_jit::codegen::vtable::tests::proptests::test_layout
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:702
  31:     0x7ff651edc1bb - dataflow_jit::codegen::vtable::tests::proptests::vtables::closure$1
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:801
  32:     0x7ff651edb2c1 - core::ops::function::impls::impl$0::call<tuple$<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout> >,dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\ops\function.rs:582
  33:     0x7ff652616ec8 - proptest::test_runner::runner::call_test::closure$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>,alloc::vec::into_iter
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\proptest-1.2.0\src\test_runner\runner.rs:254
  34:     0x7ff6523f6acd - core::panic::unwind_safe::impl$23::call_once<enum2$<core::result::Result<tuple$<>,enum2$<proptest::test_runner::errors::TestCaseError> > >,proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::cod
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\panic\unwind_safe.rs:271
  35:     0x7ff65240d315 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::code
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\panicking.rs:483
  36:     0x7ff652411803 - std::panicking::try::do_catch<
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:00):

Kixiron opened issue #6698:

I can't figure out how to create a 128bit constant. My closest attempt was by creating a 128bit vector which I then bitcast into an i128, but that doesn't work

let constant = builder.func.dfg.constants.insert(V128Imm::from(value).into());
let vector = builder.ins().vconst(types::I64X2, constant);

let mut flags = MemFlags::new();
flags.set_endianness(if cfg!(target_endian = "little") {
    Endianness::Little
} else {
    Endianness::Big
});

builder.ins().bitcast(types::I128, flags, vector)

Cranelift panics with this

thread 'codegen::vtable::tests::proptests::vtables' panicked at 'should be implemented in ISLE: inst = `v4 = bitcast.i128 little v3  ; v3 = const0`, type = `Some(types::I128)`', C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747:21
stack backtrace:
   0:     0x7ff6532aa862 - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff6532aa862 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6532aa862 - std::sys_common::backtrace::_print_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:65
   3:     0x7ff6532aa862 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:44
   4:     0x7ff6532cd36b - core::fmt::write
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\fmt\mod.rs:1208
   5:     0x7ff6532a54aa - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\io\mod.rs:1682
   6:     0x7ff6532aa5ab - std::sys_common::backtrace::_print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:47
   7:     0x7ff6532aa5ab - std::sys_common::backtrace::print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:34
   8:     0x7ff6532ad6d9 - std::panicking::default_hook::closure$1
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:267
   9:     0x7ff6532ad35b - std::panicking::default_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:286
  10:     0x7ff6532adf71 - std::panicking::rust_panic_with_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:688
  11:     0x7ff6532adcfe - std::panicking::begin_panic_handler::closure$0
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:579
  12:     0x7ff6532ab55f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:137
  13:     0x7ff6532ad9b0 - std::panicking::begin_panic_handler
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:575
  14:     0x7ff6532da8a5 - core::panicking::panic_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\panicking.rs:64
  15:     0x7ff652ff136e - cranelift_codegen::machinst::lower::impl$3::lower_clif_block::closure$0<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747
  16:     0x7ff652f3b15b - enum2$<core::option::Option<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_codegen::machinst::reg::Reg>,2> > > >::unwrap_or_else<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_c
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\option.rs:828
  17:     0x7ff652ff0c41 - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower_clif_block<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:741
  18:     0x7ff652ff33ed - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:1045
  19:     0x7ff652e7dc78 - cranelift_codegen::machinst::compile::compile<cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\compile.rs:40
  20:     0x7ff652fc1f16 - cranelift_codegen::isa::x64::X64Backend::compile_vcode
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:61
  21:     0x7ff652fc20bc - cranelift_codegen::isa::x64::impl$1::compile_function
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:73
  22:     0x7ff652f5b4d4 - cranelift_codegen::context::Context::compile_stencil
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:146
  23:     0x7ff652f5bef1 - cranelift_codegen::context::Context::compile
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:206
  24:     0x7ff652dcbe72 - cranelift_jit::backend::impl$2::define_function_with_control_plane
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-jit-0.96.4\src\backend.rs:689
  25:     0x7ff651ee1b34 - cranelift_module::module::Module::define_function<cranelift_jit::backend::JITModule>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-module-0.96.4\src\module.rs:919
  26:     0x7ff651f187a6 - dataflow_jit::codegen::Codegen::finalize_function
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\mod.rs:482
  27:     0x7ff651f156db - dataflow_jit::codegen::Codegen::codegen_layout_default
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\default.rs:148
  28:     0x7ff651f43f35 - dataflow_jit::codegen::Codegen::make_vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:113
  29:     0x7ff651f43d11 - dataflow_jit::codegen::Codegen::vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:92
  30:     0x7ff6522ab963 - dataflow_jit::codegen::vtable::tests::proptests::test_layout
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:702
  31:     0x7ff651edc1bb - dataflow_jit::codegen::vtable::tests::proptests::vtables::closure$1
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:801
  32:     0x7ff651edb2c1 - core::ops::function::impls::impl$0::call<tuple$<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout> >,dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\ops\function.rs:582
  33:     0x7ff652616ec8 - proptest::test_runner::runner::call_test::closure$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>,alloc::vec::into_iter
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\proptest-1.2.0\src\test_runner\runner.rs:254
  34:     0x7ff6523f6acd - core::panic::unwind_safe::impl$23::call_once<enum2$<core::result::Result<tuple$<>,enum2$<proptest::test_runner::errors::TestCaseError> > >,proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::cod
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\panic\unwind_safe.rs:271
  35:     0x7ff65240d315 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::code
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\panicking.rs:483
  36:     0x7ff652411803 - std::panicking::try::do_catch<c
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:00):

Kixiron labeled issue #6698:

I can't figure out how to create a 128bit constant. My closest attempt was by creating a 128bit vector which I then bitcast into an i128, but that doesn't work

let constant = builder.func.dfg.constants.insert(V128Imm::from(value).into());
let vector = builder.ins().vconst(types::I64X2, constant);

let mut flags = MemFlags::new();
flags.set_endianness(if cfg!(target_endian = "little") {
    Endianness::Little
} else {
    Endianness::Big
});

builder.ins().bitcast(types::I128, flags, vector)

Cranelift panics with this

thread 'codegen::vtable::tests::proptests::vtables' panicked at 'should be implemented in ISLE: inst = `v4 = bitcast.i128 little v3  ; v3 = const0`, type = `Some(types::I128)`', C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747:21
stack backtrace:
   0:     0x7ff6532aa862 - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff6532aa862 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6532aa862 - std::sys_common::backtrace::_print_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:65
   3:     0x7ff6532aa862 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:44
   4:     0x7ff6532cd36b - core::fmt::write
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\fmt\mod.rs:1208
   5:     0x7ff6532a54aa - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\io\mod.rs:1682
   6:     0x7ff6532aa5ab - std::sys_common::backtrace::_print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:47
   7:     0x7ff6532aa5ab - std::sys_common::backtrace::print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:34
   8:     0x7ff6532ad6d9 - std::panicking::default_hook::closure$1
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:267
   9:     0x7ff6532ad35b - std::panicking::default_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:286
  10:     0x7ff6532adf71 - std::panicking::rust_panic_with_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:688
  11:     0x7ff6532adcfe - std::panicking::begin_panic_handler::closure$0
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:579
  12:     0x7ff6532ab55f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:137
  13:     0x7ff6532ad9b0 - std::panicking::begin_panic_handler
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:575
  14:     0x7ff6532da8a5 - core::panicking::panic_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\panicking.rs:64
  15:     0x7ff652ff136e - cranelift_codegen::machinst::lower::impl$3::lower_clif_block::closure$0<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747
  16:     0x7ff652f3b15b - enum2$<core::option::Option<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_codegen::machinst::reg::Reg>,2> > > >::unwrap_or_else<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_c
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\option.rs:828
  17:     0x7ff652ff0c41 - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower_clif_block<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:741
  18:     0x7ff652ff33ed - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:1045
  19:     0x7ff652e7dc78 - cranelift_codegen::machinst::compile::compile<cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\compile.rs:40
  20:     0x7ff652fc1f16 - cranelift_codegen::isa::x64::X64Backend::compile_vcode
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:61
  21:     0x7ff652fc20bc - cranelift_codegen::isa::x64::impl$1::compile_function
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:73
  22:     0x7ff652f5b4d4 - cranelift_codegen::context::Context::compile_stencil
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:146
  23:     0x7ff652f5bef1 - cranelift_codegen::context::Context::compile
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:206
  24:     0x7ff652dcbe72 - cranelift_jit::backend::impl$2::define_function_with_control_plane
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-jit-0.96.4\src\backend.rs:689
  25:     0x7ff651ee1b34 - cranelift_module::module::Module::define_function<cranelift_jit::backend::JITModule>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-module-0.96.4\src\module.rs:919
  26:     0x7ff651f187a6 - dataflow_jit::codegen::Codegen::finalize_function
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\mod.rs:482
  27:     0x7ff651f156db - dataflow_jit::codegen::Codegen::codegen_layout_default
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\default.rs:148
  28:     0x7ff651f43f35 - dataflow_jit::codegen::Codegen::make_vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:113
  29:     0x7ff651f43d11 - dataflow_jit::codegen::Codegen::vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:92
  30:     0x7ff6522ab963 - dataflow_jit::codegen::vtable::tests::proptests::test_layout
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:702
  31:     0x7ff651edc1bb - dataflow_jit::codegen::vtable::tests::proptests::vtables::closure$1
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:801
  32:     0x7ff651edb2c1 - core::ops::function::impls::impl$0::call<tuple$<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout> >,dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\ops\function.rs:582
  33:     0x7ff652616ec8 - proptest::test_runner::runner::call_test::closure$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>,alloc::vec::into_iter
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\proptest-1.2.0\src\test_runner\runner.rs:254
  34:     0x7ff6523f6acd - core::panic::unwind_safe::impl$23::call_once<enum2$<core::result::Result<tuple$<>,enum2$<proptest::test_runner::errors::TestCaseError> > >,proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::cod
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\panic\unwind_safe.rs:271
  35:     0x7ff65240d315 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::code
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\panicking.rs:483
  36:     0x7ff652411803 - std::panicking::try::do_catch<
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:01):

Kixiron edited issue #6698:

I can't figure out how to create a 128bit constant. My closest attempt was by creating a 128bit vector which I then bitcast into an i128, but that doesn't work

let constant = builder.func.dfg.constants.insert(V128Imm::from(value).into());
let vector = builder.ins().vconst(types::I64X2, constant);

let mut flags = MemFlags::new();
// Endianness is required here since I'm "changing the number of lanes" so this is my best guess for getting correct behavior?
flags.set_endianness(if cfg!(target_endian = "little") {
    Endianness::Little
} else {
    Endianness::Big
});

builder.ins().bitcast(types::I128, flags, vector)

Cranelift panics with this

thread 'codegen::vtable::tests::proptests::vtables' panicked at 'should be implemented in ISLE: inst = `v4 = bitcast.i128 little v3  ; v3 = const0`, type = `Some(types::I128)`', C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747:21
stack backtrace:
   0:     0x7ff6532aa862 - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff6532aa862 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6532aa862 - std::sys_common::backtrace::_print_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:65
   3:     0x7ff6532aa862 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:44
   4:     0x7ff6532cd36b - core::fmt::write
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\fmt\mod.rs:1208
   5:     0x7ff6532a54aa - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\io\mod.rs:1682
   6:     0x7ff6532aa5ab - std::sys_common::backtrace::_print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:47
   7:     0x7ff6532aa5ab - std::sys_common::backtrace::print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:34
   8:     0x7ff6532ad6d9 - std::panicking::default_hook::closure$1
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:267
   9:     0x7ff6532ad35b - std::panicking::default_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:286
  10:     0x7ff6532adf71 - std::panicking::rust_panic_with_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:688
  11:     0x7ff6532adcfe - std::panicking::begin_panic_handler::closure$0
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:579
  12:     0x7ff6532ab55f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:137
  13:     0x7ff6532ad9b0 - std::panicking::begin_panic_handler
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:575
  14:     0x7ff6532da8a5 - core::panicking::panic_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\panicking.rs:64
  15:     0x7ff652ff136e - cranelift_codegen::machinst::lower::impl$3::lower_clif_block::closure$0<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747
  16:     0x7ff652f3b15b - enum2$<core::option::Option<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_codegen::machinst::reg::Reg>,2> > > >::unwrap_or_else<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_c
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\option.rs:828
  17:     0x7ff652ff0c41 - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower_clif_block<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:741
  18:     0x7ff652ff33ed - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:1045
  19:     0x7ff652e7dc78 - cranelift_codegen::machinst::compile::compile<cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\compile.rs:40
  20:     0x7ff652fc1f16 - cranelift_codegen::isa::x64::X64Backend::compile_vcode
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:61
  21:     0x7ff652fc20bc - cranelift_codegen::isa::x64::impl$1::compile_function
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:73
  22:     0x7ff652f5b4d4 - cranelift_codegen::context::Context::compile_stencil
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:146
  23:     0x7ff652f5bef1 - cranelift_codegen::context::Context::compile
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:206
  24:     0x7ff652dcbe72 - cranelift_jit::backend::impl$2::define_function_with_control_plane
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-jit-0.96.4\src\backend.rs:689
  25:     0x7ff651ee1b34 - cranelift_module::module::Module::define_function<cranelift_jit::backend::JITModule>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-module-0.96.4\src\module.rs:919
  26:     0x7ff651f187a6 - dataflow_jit::codegen::Codegen::finalize_function
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\mod.rs:482
  27:     0x7ff651f156db - dataflow_jit::codegen::Codegen::codegen_layout_default
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\default.rs:148
  28:     0x7ff651f43f35 - dataflow_jit::codegen::Codegen::make_vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:113
  29:     0x7ff651f43d11 - dataflow_jit::codegen::Codegen::vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:92
  30:     0x7ff6522ab963 - dataflow_jit::codegen::vtable::tests::proptests::test_layout
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:702
  31:     0x7ff651edc1bb - dataflow_jit::codegen::vtable::tests::proptests::vtables::closure$1
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:801
  32:     0x7ff651edb2c1 - core::ops::function::impls::impl$0::call<tuple$<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout> >,dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\ops\function.rs:582
  33:     0x7ff652616ec8 - proptest::test_runner::runner::call_test::closure$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>,alloc::vec::into_iter
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\proptest-1.2.0\src\test_runner\runner.rs:254
  34:     0x7ff6523f6acd - core::panic::unwind_safe::impl$23::call_once<enum2$<core::result::Result<tuple$<>,enum2$<proptest::test_runner::errors::TestCaseError> > >,proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::cod
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\panic\unwind_safe.rs:271
  35:     0x7ff65240d315 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::code
                               at /rustc/d5a82
[message truncated]

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:40):

jameysharp commented on issue #6698:

Yeah, 128-bit constants are currently awkward in Cranelift. Usually we build them out of smaller constants. If the value fits within a 64-bit constant then you can use iconst.i64 followed by uextend (or sextend if you want to sign-extend). Otherwise you can build the two 64-bit halves with iconst.i64 and then combine them with iconcat. There are examples in cranelift/filetests/filetests/runtests/i128-*.clif.

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:41):

afonso360 commented on issue #6698:

Hey,

The best way to do that operation currently is to either use a iconcat to merge two iconst.i64's, or use sextend/uextend if your constant can fit in a i64.

See also isplit if you end up needing to separate it out again for whatever reason.

Bitcasting a 128bit vector into a i128 should work, but in practice it's not implemented in any backend (CC: #6104)

view this post on Zulip Wasmtime GitHub notifications bot (Jul 06 2023 at 19:42):

afonso360 edited a comment on issue #6698:

Hey,

The best way to do that operation currently is to either use a iconcat to merge two iconst.i64's, or use sextend/uextend if your constant can fit in a i64.

See also isplit if you end up needing to separate it out again for whatever reason.

Bitcasting a 128bit vector into a i128 should work, but in practice it's not implemented in any backend (CC: #6104)

Edit: Oops, looks like @jameysharp beat me to it :big_smile:

view this post on Zulip Wasmtime GitHub notifications bot (Jul 07 2023 at 23:15):

jameysharp commented on issue #6698:

Hopefully this was all you needed, so I'm going to close this issue. But please re-open it if we missed something!

Ideally we'd either have better documentation explaining this, or we'd remove the weird special case around i128 constants. If anyone runs into this problem, finds this discussion, and wants to try to tackle either of those solutions, let's chat! Otherwise I don't know when either alternative will happen :sweat_smile:

view this post on Zulip Wasmtime GitHub notifications bot (Jul 07 2023 at 23:15):

jameysharp closed issue #6698:

I can't figure out how to create a 128bit constant. My closest attempt was by creating a 128bit vector which I then bitcast into an i128, but that doesn't work

let constant = builder.func.dfg.constants.insert(V128Imm::from(value).into());
let vector = builder.ins().vconst(types::I64X2, constant);

let mut flags = MemFlags::new();
// Endianness is required here since I'm "changing the number of lanes" so this is my best guess for getting correct behavior?
flags.set_endianness(if cfg!(target_endian = "little") {
    Endianness::Little
} else {
    Endianness::Big
});

builder.ins().bitcast(types::I128, flags, vector)

Cranelift panics with this

thread 'codegen::vtable::tests::proptests::vtables' panicked at 'should be implemented in ISLE: inst = `v4 = bitcast.i128 little v3  ; v3 = const0`, type = `Some(types::I128)`', C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747:21
stack backtrace:
   0:     0x7ff6532aa862 - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff6532aa862 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff6532aa862 - std::sys_common::backtrace::_print_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:65
   3:     0x7ff6532aa862 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:44
   4:     0x7ff6532cd36b - core::fmt::write
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\fmt\mod.rs:1208
   5:     0x7ff6532a54aa - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\io\mod.rs:1682
   6:     0x7ff6532aa5ab - std::sys_common::backtrace::_print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:47
   7:     0x7ff6532aa5ab - std::sys_common::backtrace::print
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:34
   8:     0x7ff6532ad6d9 - std::panicking::default_hook::closure$1
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:267
   9:     0x7ff6532ad35b - std::panicking::default_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:286
  10:     0x7ff6532adf71 - std::panicking::rust_panic_with_hook
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:688
  11:     0x7ff6532adcfe - std::panicking::begin_panic_handler::closure$0
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:579
  12:     0x7ff6532ab55f - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\sys_common\backtrace.rs:137
  13:     0x7ff6532ad9b0 - std::panicking::begin_panic_handler
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:575
  14:     0x7ff6532da8a5 - core::panicking::panic_fmt
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\panicking.rs:64
  15:     0x7ff652ff136e - cranelift_codegen::machinst::lower::impl$3::lower_clif_block::closure$0<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:747
  16:     0x7ff652f3b15b - enum2$<core::option::Option<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_codegen::machinst::reg::Reg>,2> > > >::unwrap_or_else<smallvec::SmallVec<array$<cranelift_codegen::machinst::valueregs::ValueRegs<cranelift_c
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\option.rs:828
  17:     0x7ff652ff0c41 - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower_clif_block<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:741
  18:     0x7ff652ff33ed - cranelift_codegen::machinst::lower::Lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst> >::lower<enum2$<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst>,cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\lower.rs:1045
  19:     0x7ff652e7dc78 - cranelift_codegen::machinst::compile::compile<cranelift_codegen::isa::x64::X64Backend>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\machinst\compile.rs:40
  20:     0x7ff652fc1f16 - cranelift_codegen::isa::x64::X64Backend::compile_vcode
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:61
  21:     0x7ff652fc20bc - cranelift_codegen::isa::x64::impl$1::compile_function
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\isa\x64\mod.rs:73
  22:     0x7ff652f5b4d4 - cranelift_codegen::context::Context::compile_stencil
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:146
  23:     0x7ff652f5bef1 - cranelift_codegen::context::Context::compile
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-codegen-0.96.4\src\context.rs:206
  24:     0x7ff652dcbe72 - cranelift_jit::backend::impl$2::define_function_with_control_plane
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-jit-0.96.4\src\backend.rs:689
  25:     0x7ff651ee1b34 - cranelift_module::module::Module::define_function<cranelift_jit::backend::JITModule>
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\cranelift-module-0.96.4\src\module.rs:919
  26:     0x7ff651f187a6 - dataflow_jit::codegen::Codegen::finalize_function
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\mod.rs:482
  27:     0x7ff651f156db - dataflow_jit::codegen::Codegen::codegen_layout_default
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\default.rs:148
  28:     0x7ff651f43f35 - dataflow_jit::codegen::Codegen::make_vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:113
  29:     0x7ff651f43d11 - dataflow_jit::codegen::Codegen::vtable_for
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\mod.rs:92
  30:     0x7ff6522ab963 - dataflow_jit::codegen::vtable::tests::proptests::test_layout
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:702
  31:     0x7ff651edc1bb - dataflow_jit::codegen::vtable::tests::proptests::vtables::closure$1
                               at G:\Users\Chase\Code\Rust\dbsp\crates\dataflow-jit\src\codegen\vtable\tests.rs:801
  32:     0x7ff651edb2c1 - core::ops::function::impls::impl$0::call<tuple$<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout> >,dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\ops\function.rs:582
  33:     0x7ff652616ec8 - proptest::test_runner::runner::call_test::closure$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::codegen::vtable::tests::proptests::vtables::closure_env$1>,alloc::vec::into_iter
                               at C:\Users\Chase\.cargo\registry\src\github.com-1ecc6299db9ec823\proptest-1.2.0\src\test_runner\runner.rs:254
  34:     0x7ff6523f6acd - core::panic::unwind_safe::impl$23::call_once<enum2$<core::result::Result<tuple$<>,enum2$<proptest::test_runner::errors::TestCaseError> > >,proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::cod
                               at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\panic\unwind_safe.rs:271
  35:     0x7ff65240d315 - std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::closure_env$3<proptest::sugar::NamedArguments<ref$<str$>,dataflow_jit::codegen::vtable::tests::proptests::PropLayout>,ref$<dataflow_jit::code
                               at /rustc/d5
[message truncated]


Last updated: Oct 23 2024 at 20:03 UTC