mirror of
https://github.com/fluencelabs/wasmer
synced 2025-06-14 17:31:20 +00:00
Cargo fmt
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
// https://llvm.org/docs/StackMaps.html#stackmap-section
|
// https://llvm.org/docs/StackMaps.html#stackmap-section
|
||||||
|
|
||||||
use byteorder::{LittleEndian, ReadBytesExt};
|
use byteorder::{LittleEndian, ReadBytesExt};
|
||||||
use std::collections::{HashMap, BTreeMap};
|
use std::collections::{BTreeMap, HashMap};
|
||||||
use std::io::{self, Cursor};
|
use std::io::{self, Cursor};
|
||||||
use wasmer_runtime_core::state::{
|
use wasmer_runtime_core::state::{
|
||||||
x64::{new_machine_state, X64Register, GPR},
|
x64::{new_machine_state, X64Register, GPR},
|
||||||
@ -231,7 +231,10 @@ impl StackmapEntry {
|
|||||||
if loc.offset_or_small_constant >= 0 {
|
if loc.offset_or_small_constant >= 0 {
|
||||||
assert!(loc.offset_or_small_constant >= 16); // (saved_rbp, return_address)
|
assert!(loc.offset_or_small_constant >= 16); // (saved_rbp, return_address)
|
||||||
assert!(loc.offset_or_small_constant % 8 == 0);
|
assert!(loc.offset_or_small_constant % 8 == 0);
|
||||||
prev_frame_diff.insert(((loc.offset_or_small_constant as usize - 16) / 8), Some(mv));
|
prev_frame_diff.insert(
|
||||||
|
((loc.offset_or_small_constant as usize - 16) / 8),
|
||||||
|
Some(mv),
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
let stack_offset = ((-loc.offset_or_small_constant) / 4) as usize;
|
let stack_offset = ((-loc.offset_or_small_constant) / 4) as usize;
|
||||||
assert!(
|
assert!(
|
||||||
|
@ -217,17 +217,19 @@ impl MachineState {
|
|||||||
let prev_frame_diff: BTreeMap<usize, Option<MachineValue>> = self
|
let prev_frame_diff: BTreeMap<usize, Option<MachineValue>> = self
|
||||||
.prev_frame
|
.prev_frame
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|(k, v)| if let Some(ref old_v) = old.prev_frame.get(k) {
|
.filter(|(k, v)| {
|
||||||
v != old_v
|
if let Some(ref old_v) = old.prev_frame.get(k) {
|
||||||
} else {
|
v != old_v
|
||||||
true
|
} else {
|
||||||
|
true
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.map(|(&k, v)| (k, Some(v.clone())))
|
.map(|(&k, v)| (k, Some(v.clone())))
|
||||||
.chain(
|
.chain(
|
||||||
old.prev_frame
|
old.prev_frame
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|(k, _)| self.prev_frame.get(k).is_none())
|
.filter(|(k, _)| self.prev_frame.get(k).is_none())
|
||||||
.map(|(&k, _)| (k, None))
|
.map(|(&k, _)| (k, None)),
|
||||||
)
|
)
|
||||||
.collect();
|
.collect();
|
||||||
let first_diff_wasm_stack_depth: usize = self
|
let first_diff_wasm_stack_depth: usize = self
|
||||||
@ -978,7 +980,7 @@ pub mod x64 {
|
|||||||
MachineValue::WasmLocal(idx) => {
|
MachineValue::WasmLocal(idx) => {
|
||||||
wasm_locals[idx] = Some(*stack.offset(offset));
|
wasm_locals[idx] = Some(*stack.offset(offset));
|
||||||
}
|
}
|
||||||
_ => unreachable!("values in prev frame can only be stack/local")
|
_ => unreachable!("values in prev frame can only be stack/local"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stack = stack.offset(1); // saved_rbp
|
stack = stack.offset(1); // saved_rbp
|
||||||
|
Reference in New Issue
Block a user