Coverage Report

Created: 2025-12-05 06:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wasm3/source/m3_exec_defs.h
Line
Count
Source
1
//
2
//  m3_exec_defs.h
3
//
4
//  Created by Steven Massey on 5/1/19.
5
//  Copyright © 2019 Steven Massey. All rights reserved.
6
//
7
8
#ifndef m3_exec_defs_h
9
#define m3_exec_defs_h
10
11
#include "m3_core.h"
12
13
d_m3BeginExternC
14
15
0
# define m3MemData(mem)                 (u8*)(((M3MemoryHeader*)(mem))+1)
16
0
# define m3MemRuntime(mem)              (((M3MemoryHeader*)(mem))->runtime)
17
0
# define m3MemInfo(mem)                 (&(((M3MemoryHeader*)(mem))->runtime->memory))
18
19
# define d_m3BaseOpSig                  pc_t _pc, m3stack_t _sp, M3MemoryHeader * _mem, m3reg_t _r0
20
439
# define d_m3BaseOpArgs                 _sp, _mem, _r0
21
# define d_m3BaseOpAllArgs              _pc, _sp, _mem, _r0
22
82
# define d_m3BaseOpDefaultArgs          0
23
0
# define d_m3BaseClearRegisters         _r0 = 0;
24
# define d_m3BaseCstr                   ""
25
26
# define d_m3ExpOpSig(...)              d_m3BaseOpSig, __VA_ARGS__
27
439
# define d_m3ExpOpArgs(...)             d_m3BaseOpArgs, __VA_ARGS__
28
# define d_m3ExpOpAllArgs(...)          d_m3BaseOpAllArgs, __VA_ARGS__
29
82
# define d_m3ExpOpDefaultArgs(...)      d_m3BaseOpDefaultArgs, __VA_ARGS__
30
0
# define d_m3ExpClearRegisters(...)     d_m3BaseClearRegisters; __VA_ARGS__
31
32
# if d_m3HasFloat
33
#   define d_m3OpSig                d_m3ExpOpSig            (f64 _fp0)
34
439
#   define d_m3OpArgs               d_m3ExpOpArgs           (_fp0)
35
#   define d_m3OpAllArgs            d_m3ExpOpAllArgs        (_fp0)
36
82
#   define d_m3OpDefaultArgs        d_m3ExpOpDefaultArgs    (0.)
37
0
#   define d_m3ClearRegisters       d_m3ExpClearRegisters   (_fp0 = 0.;)
38
# else
39
#   define d_m3OpSig                d_m3BaseOpSig
40
#   define d_m3OpArgs               d_m3BaseOpArgs
41
#   define d_m3OpAllArgs            d_m3BaseOpAllArgs
42
#   define d_m3OpDefaultArgs        d_m3BaseOpDefaultArgs
43
#   define d_m3ClearRegisters       d_m3BaseClearRegisters
44
# endif
45
46
47
#define d_m3RetSig                  static inline m3ret_t vectorcall
48
# if (d_m3EnableOpProfiling || d_m3EnableOpTracing)
49
    typedef m3ret_t (vectorcall * IM3Operation) (d_m3OpSig, cstr_t i_operationName);
50
#    define d_m3Op(NAME)                M3_NO_UBSAN d_m3RetSig op_##NAME (d_m3OpSig, cstr_t i_operationName)
51
52
#    define nextOpImpl()            ((IM3Operation)(* _pc))(_pc + 1, d_m3OpArgs, __FUNCTION__)
53
#    define jumpOpImpl(PC)          ((IM3Operation)(*  PC))( PC + 1, d_m3OpArgs, __FUNCTION__)
54
# else
55
    typedef m3ret_t (vectorcall * IM3Operation) (d_m3OpSig);
56
#    define d_m3Op(NAME)                M3_NO_UBSAN d_m3RetSig op_##NAME (d_m3OpSig)
57
58
878
#    define nextOpImpl()            ((IM3Operation)(* _pc))(_pc + 1, d_m3OpArgs)
59
0
#    define jumpOpImpl(PC)          ((IM3Operation)(*  PC))( PC + 1, d_m3OpArgs)
60
# endif
61
62
439
#define nextOpDirect()              M3_MUSTTAIL return nextOpImpl()
63
0
#define jumpOpDirect(PC)            M3_MUSTTAIL return jumpOpImpl((pc_t)(PC))
64
65
# if (d_m3EnableOpProfiling || d_m3EnableOpTracing)
66
d_m3RetSig  RunCode  (d_m3OpSig, cstr_t i_operationName)
67
# else
68
d_m3RetSig  RunCode  (d_m3OpSig)
69
# endif
70
82
{
71
82
    nextOpDirect();
72
82
}
m3_env.c:RunCode
Line
Count
Source
70
82
{
71
82
    nextOpDirect();
72
82
}
Unexecuted instantiation: m3_function.c:RunCode
Unexecuted instantiation: m3_info.c:RunCode
Unexecuted instantiation: m3_module.c:RunCode
Unexecuted instantiation: m3_parse.c:RunCode
Unexecuted instantiation: m3_code.c:RunCode
Unexecuted instantiation: m3_compile.c:RunCode
Unexecuted instantiation: m3_core.c:RunCode
73
74
d_m3EndExternC
75
76
#endif // m3_exec_defs_h