Skip to content

Commit 0e701b9

Browse files
committed
fix: branch_table()
1 parent 961e676 commit 0e701b9

File tree

2 files changed

+3
-6
lines changed

2 files changed

+3
-6
lines changed

crates/interpreter/src/module.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ impl<'m> Module<'m> {
6464
// Only keep the sections (i.e. skip the header).
6565
binary: &binary[8 ..],
6666
types: Vec::new(),
67-
side_table: &[], // TODO(dev/fast-interp): Parse from binary.
67+
side_table: SideTableView::default(),
6868
};
6969
if let Some(mut parser) = module.section(SectionId::Type) {
7070
for _ in 0 .. parser.parse_vec().into_ok() {
@@ -183,10 +183,7 @@ impl<'m> Module<'m> {
183183

184184
pub(crate) fn func(&self, x: FuncIdx) -> (Parser<'m>, &'m [BranchTableEntry]) {
185185
let metadata = Box::leak(Box::new(self.side_table.metadata(x as usize)));
186-
(
187-
unsafe { Parser::new(&self.binary[metadata.parser_range().clone()]) },
188-
metadata.branch_table(),
189-
)
186+
(unsafe { Parser::new(&self.binary[metadata.parser_range()]) }, metadata.branch_table())
190187
}
191188

192189
pub(crate) fn data(&self, x: DataIdx) -> Parser<'m> {

crates/interpreter/src/side_table.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ impl<'m> Metadata<'m> {
7171
unsafe {
7272
core::slice::from_raw_parts(
7373
self.0[10 ..].as_ptr() as *const BranchTableEntry,
74-
self.0.len() / entry_size - 1,
74+
(self.0.len() - 10) / entry_size,
7575
)
7676
}
7777
}

0 commit comments

Comments
 (0)