• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

henrythasler / rust-tiny-wasm / 23411830656

22 Mar 2026 08:28PM UTC coverage: 93.342% (-0.2%) from 93.565%
23411830656

push

github

henrythasler
fix local variables management

10 of 10 new or added lines in 2 files covered. (100.0%)

11 existing lines in 2 files now uncovered.

757 of 811 relevant lines covered (93.34%)

17.7 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

96.67
/src/assembler.rs
1
use aarch64::*;
2
pub mod aarch64;
3

4
pub fn emit_prologue(stack_size: usize, machinecode: &mut Vec<u32>) {
28✔
5
    machinecode.push(0xA9BF7BFD); // stp fp, lr, [sp, #-16]!  ; create a new stack frame
28✔
6
    machinecode.push(0x910003FD); // mov fp, sp
28✔
7

8
    if stack_size > 0 {
28✔
9
        if stack_size < 0x10000 {
7✔
10
            machinecode.push(arithmetic::sub_imm(
7✔
11
                Reg::SP,
7✔
12
                Reg::SP,
7✔
13
                stack_size as u32,
7✔
14
                false,
7✔
15
                RegSize::Reg64bit,
7✔
16
            ));
7✔
17
        } else {
7✔
18
            // FIXME: encode with movk and sub_shifted_reg
UNCOV
19
            panic!("stack_size exceeds 64KiB");
×
20
        }
21
    }
21✔
22
}
28✔
23

24
pub fn emit_epilogue(stack_size: usize, machinecode: &mut Vec<u32>) {
27✔
25
    if stack_size > 0 {
27✔
26
        // deallocate stack memory (add sp, sp, #stackSize)
7✔
27
        machinecode.push(arithmetic::add_imm(
7✔
28
            Reg::SP,
7✔
29
            Reg::SP,
7✔
30
            stack_size as u32,
7✔
31
            false,
7✔
32
            RegSize::Reg64bit,
7✔
33
        ));
7✔
34
    }
20✔
35
    machinecode.push(0xA8C17BFD); // ldp fp, lr, [sp], #16  ; destroy stack frame and restore FP, LR and SP
27✔
36
    machinecode.push(branch::ret(Reg::LR)); // ret
27✔
37
}
27✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc