Skip to content

Commit

Permalink
Update wasm-tools crates to latest versions. (#6394)
Browse files Browse the repository at this point in the history
* Update wasm-tools crates to latest versions.
This included stubbing out unimplemented GC-related things and
updating coredump generation to include the coredump spec changes.

* cargo vet

* address review comments
  • Loading branch information
itsrainy authored May 17, 2023
1 parent 4b74b2d commit 63ffbe2
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 43 deletions.
91 changes: 55 additions & 36 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -181,13 +181,13 @@ byte-array-literals = { path = "crates/wasi-preview1-component-adapter/byte-arra

target-lexicon = { version = "0.12.3", default-features = false, features = ["std"] }
anyhow = "1.0.22"
wasmparser = "0.104.0"
wat = "1.0.63"
wast = "57.0.0"
wasmprinter = "0.2.56"
wasm-encoder = "0.26.0"
wasm-smith = "0.12.7"
wasm-mutate = "0.2.24"
wasmparser = "0.105.0"
wat = "1.0.64"
wast = "58.0.0"
wasmprinter = "0.2.57"
wasm-encoder = "0.27.0"
wasm-smith = "0.12.8"
wasm-mutate = "0.2.25"
wit-parser = "0.7.1"
windows-sys = "0.48.0"
env_logger = "0.10"
Expand Down
3 changes: 3 additions & 0 deletions cranelift/wasm/src/code_translator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2347,6 +2347,9 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
op
));
}
Operator::I31New | Operator::I31GetS | Operator::I31GetU => {
unimplemented!("GC operators not yet implemented")
}
};
Ok(())
}
Expand Down
2 changes: 2 additions & 0 deletions crates/wasmtime/src/engine/serialization.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ impl Metadata {
extended_const,
memory_control,
function_references,
gc,

// Always on; we don't currently have knobs for these.
mutable_global: _,
Expand All @@ -199,6 +200,7 @@ impl Metadata {
assert!(!memory_control);
assert!(!tail_call);
assert!(!function_references);
assert!(!gc);

Metadata {
target: engine.compiler().triple().to_string(),
Expand Down
7 changes: 7 additions & 0 deletions src/commands/run.rs
Original file line number Diff line number Diff line change
Expand Up @@ -834,7 +834,14 @@ fn generate_coredump(err: &anyhow::Error, source_name: &str, coredump_path: &str
let coredump = wasm_encoder::CoreDumpSection::new(source_name);
let mut stacksection = wasm_encoder::CoreDumpStackSection::new("main");
for f in bt.frames() {
// We don't have the information at this point to map frames to
// individual instances of a module, so we won't be able to create the
// "frame ∈ instance ∈ module" hierarchy described in the core dump spec
// until we move core dump generation into the runtime. So for now
// instanceidx will be 0 for all frames
let instanceidx = 0;
stacksection.frame(
instanceidx,
f.func_index(),
u32::try_from(f.func_offset().unwrap_or(0)).unwrap(),
// We don't currently have access to locals/stack values
Expand Down
Loading

0 comments on commit 63ffbe2

Please sign in to comment.