mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-03-16 18:20:51 +00:00
Merge pull request #971 from alexcrichton/update-parity-wasm
Update parity-wasm
This commit is contained in:
commit
58fb907baa
@ -13,7 +13,7 @@ Shared support for the wasm-bindgen-cli package, an internal dependency
|
||||
[dependencies]
|
||||
base64 = "0.9"
|
||||
failure = "0.1.2"
|
||||
parity-wasm = "0.34"
|
||||
parity-wasm = "0.35"
|
||||
tempfile = "3.0"
|
||||
wasm-bindgen-shared = { path = "../shared", version = '=0.2.25' }
|
||||
wasm-bindgen-wasm-interpreter = { path = "../wasm-interpreter", version = '=0.2.25' }
|
||||
|
@ -153,8 +153,9 @@ impl ClosureDescriptors {
|
||||
let to_remove = remove.get(&i).unwrap_or(&empty);
|
||||
|
||||
let mut current = Vec::new();
|
||||
assert_eq!(entry.offset().code().len(), 2);
|
||||
let mut offset = match entry.offset().code()[0] {
|
||||
let offset = entry.offset().as_ref().unwrap();
|
||||
assert_eq!(offset.code().len(), 2);
|
||||
let mut offset = match offset.code()[0] {
|
||||
Instruction::I32Const(x) => x,
|
||||
_ => unreachable!(),
|
||||
};
|
||||
@ -172,7 +173,7 @@ impl ClosureDescriptors {
|
||||
let members = mem::replace(&mut current, Vec::new());
|
||||
let offset =
|
||||
InitExpr::new(vec![Instruction::I32Const(offset), Instruction::End]);
|
||||
let new_entry = ElementSegment::new(0, offset, members);
|
||||
let new_entry = ElementSegment::new(0, Some(offset), members, false);
|
||||
elements.entries_mut().push(new_entry);
|
||||
}
|
||||
offset = next_offset;
|
||||
@ -180,7 +181,7 @@ impl ClosureDescriptors {
|
||||
// Any remaining function table entries get pushed at the end.
|
||||
if current.len() > 0 {
|
||||
let offset = InitExpr::new(vec![Instruction::I32Const(offset), Instruction::End]);
|
||||
let new_entry = ElementSegment::new(0, offset, current);
|
||||
let new_entry = ElementSegment::new(0, Some(offset), current, false);
|
||||
elements.entries_mut().push(new_entry);
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ docopt = "1.0"
|
||||
env_logger = "0.5"
|
||||
failure = "0.1.2"
|
||||
log = "0.4"
|
||||
parity-wasm = "0.34"
|
||||
parity-wasm = "0.35"
|
||||
rouille = { version = "2.1.0", default-features = false }
|
||||
serde = "1.0"
|
||||
serde_derive = "1.0"
|
||||
|
@ -11,6 +11,6 @@ Support for removing unused items from a wasm executable
|
||||
"""
|
||||
|
||||
[dependencies]
|
||||
parity-wasm = "0.34"
|
||||
parity-wasm = "0.35"
|
||||
log = "0.4"
|
||||
rustc-demangle = "0.1.9"
|
||||
|
@ -417,16 +417,20 @@ impl<'a> LiveContext<'a> {
|
||||
}
|
||||
|
||||
fn add_data_segment(&mut self, data: &DataSegment) {
|
||||
self.add_memory(data.index());
|
||||
self.add_init_expr(data.offset());
|
||||
if let Some(offset) = data.offset() {
|
||||
self.add_memory(data.index());
|
||||
self.add_init_expr(offset);
|
||||
}
|
||||
}
|
||||
|
||||
fn add_element_segment(&mut self, seg: &ElementSegment) {
|
||||
for member in seg.members() {
|
||||
self.add_function(*member);
|
||||
}
|
||||
self.add_table(seg.index());
|
||||
self.add_init_expr(seg.offset());
|
||||
if let Some(offset) = seg.offset() {
|
||||
self.add_table(seg.index());
|
||||
self.add_init_expr(offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -673,7 +677,9 @@ impl<'a> RemapContext<'a> {
|
||||
for m in s.members_mut() {
|
||||
self.remap_function_idx(m);
|
||||
}
|
||||
self.remap_init_expr(s.offset_mut());
|
||||
if let Some(offset) = s.offset_mut() {
|
||||
self.remap_init_expr(offset);
|
||||
}
|
||||
}
|
||||
|
||||
fn remap_code_section(&self, s: &mut CodeSection) -> bool {
|
||||
@ -725,7 +731,9 @@ impl<'a> RemapContext<'a> {
|
||||
let mut i = segment.index();
|
||||
self.remap_memory_idx(&mut i);
|
||||
assert_eq!(segment.index(), i);
|
||||
self.remap_init_expr(segment.offset_mut());
|
||||
if let Some(offset) = segment.offset_mut() {
|
||||
self.remap_init_expr(offset);
|
||||
}
|
||||
}
|
||||
|
||||
fn remap_type_idx(&self, i: &mut u32) {
|
||||
|
@ -11,7 +11,7 @@ Micro-interpreter optimized for wasm-bindgen's use case
|
||||
"""
|
||||
|
||||
[dependencies]
|
||||
parity-wasm = "0.34"
|
||||
parity-wasm = "0.35"
|
||||
|
||||
[dev-dependencies]
|
||||
tempfile = "3"
|
||||
|
@ -248,7 +248,10 @@ impl Interpreter {
|
||||
.iter()
|
||||
.enumerate()
|
||||
.filter_map(|(i, entry)| {
|
||||
let code = entry.offset().code();
|
||||
let code = match entry.offset() {
|
||||
Some(offset) => offset.code(),
|
||||
None => return None,
|
||||
};
|
||||
if code.len() != 2 {
|
||||
return None;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user