Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
emscripten-core
GitHub Repository: emscripten-core/emscripten
Path: blob/main/src/lib/libautodebug.js
4150 views
1
/**
2
* @license
3
* Copyright 2022 The Emscripten Authors
4
* SPDX-License-Identifier: MIT
5
*/
6
7
8
#if !AUTODEBUG
9
#error "Should only be included in AUTODEBUG mode"
10
#endif
11
12
addToLibrary({
13
$log_execution: (loc) => dbg('log_execution ' + loc),
14
$get_i32: (loc, index, value) => {
15
dbg('get_i32 ' + [loc, index, value]);
16
return value;
17
},
18
$get_i64__deps: ['setTempRet0'],
19
$get_i64: (loc, index, low, high) => {
20
dbg('get_i64 ' + [loc, index, low, high]);
21
_setTempRet0(high);
22
return low;
23
},
24
$get_f32: (loc, index, value) => {
25
dbg('get_f32 ' + [loc, index, value]);
26
return value;
27
},
28
$get_f64: (loc, index, value) => {
29
dbg('get_f64 ' + [loc, index, value]);
30
return value;
31
},
32
$get_funcref: (loc, index, value) => {
33
dbg('get_funcref ' + [loc, index, value]);
34
return value;
35
},
36
$get_externref: (loc, index, value) => {
37
dbg('get_externref ' + [loc, index, value]);
38
return value;
39
},
40
$get_anyref: (loc, index, value) => {
41
dbg('get_anyref ' + [loc, index, value]);
42
return value;
43
},
44
$get_exnref: (loc, index, value) => {
45
dbg('get_exnref ' + [loc, index, value]);
46
return value;
47
},
48
$set_i32: (loc, index, value) => {
49
dbg('set_i32 ' + [loc, index, value]);
50
return value;
51
},
52
$set_i64__deps: ['setTempRet0'],
53
$set_i64: (loc, index, low, high) => {
54
dbg('set_i64 ' + [loc, index, low, high]);
55
_setTempRet0(high);
56
return low;
57
},
58
$set_f32: (loc, index, value) => {
59
dbg('set_f32 ' + [loc, index, value]);
60
return value;
61
},
62
$set_f64: (loc, index, value) => {
63
dbg('set_f64 ' + [loc, index, value]);
64
return value;
65
},
66
$set_funcref: (loc, index, value) => {
67
dbg('set_afuncef ' + [loc, index, value]);
68
return value;
69
},
70
$set_externref: (loc, index, value) => {
71
dbg('set_externref ' + [loc, index, value]);
72
return value;
73
},
74
$set_anyref: (loc, index, value) => {
75
dbg('set_anyref ' + [loc, index, value]);
76
return value;
77
},
78
$set_exnref: (loc, index, value) => {
79
dbg('set_exnref ' + [loc, index, value]);
80
return value;
81
},
82
$load_ptr: (loc, bytes, offset, ptr) => {
83
dbg('load_ptr ' + [loc, bytes, offset, ptr]);
84
return ptr;
85
},
86
$load_val_i32: (loc, value) => {
87
dbg('load_val_i32 ' + [loc, value]);
88
return value;
89
},
90
$load_val_i64__deps: ['setTempRet0'],
91
$load_val_i64: (loc, low, high) => {
92
dbg('load_val_i64 ' + [loc, low, high]);
93
_setTempRet0(high);
94
return low;
95
},
96
$load_val_f32: (loc, value) => {
97
dbg('load_val_f32 ' + [loc, value]);
98
return value;
99
},
100
$load_val_f64: (loc, value) => {
101
dbg('load_val_f64 ' + [loc, value]);
102
return value;
103
},
104
$store_ptr: (loc, bytes, offset, ptr) => {
105
dbg('store_ptr ' + [loc, bytes, offset, ptr]);
106
return ptr;
107
},
108
$store_val_i32: (loc, value) => {
109
dbg('store_val_i32 ' + [loc, value]);
110
return value;
111
},
112
$store_val_i64__deps: ['setTempRet0'],
113
$store_val_i64: (loc, low, high) => {
114
dbg('store_val_i64 ' + [loc, low, high]);
115
_setTempRet0(high);
116
return low;
117
},
118
$store_val_f32: (loc, value) => {
119
dbg('store_val_f32 ' + [loc, value]);
120
return value;
121
},
122
$store_val_f64: (loc, value) => {
123
dbg('store_val_f64 ' + [loc, value]);
124
return value;
125
},
126
$memory_grow_pre: (loc, delta) => {
127
dbg('memory_grow_pre ' + [loc, delta]);
128
return delta;
129
},
130
$memory_grow_post: (loc, result) => {
131
dbg('memory_grow_post ' + [loc, result]);
132
return result;
133
},
134
});
135
136
extraLibraryFuncs.push(
137
'$log_execution',
138
'$get_i32',
139
'$get_i64',
140
'$get_f32',
141
'$get_f64',
142
'$get_funcref',
143
'$get_externref',
144
'$get_anyref',
145
'$get_exnref',
146
'$set_i32',
147
'$set_i64',
148
'$set_f32',
149
'$set_f64',
150
'$set_funcref',
151
'$set_externref',
152
'$set_anyref',
153
'$set_exnref',
154
'$load_ptr',
155
'$load_val_i32',
156
'$load_val_i64',
157
'$load_val_f32',
158
'$load_val_f64',
159
'$store_ptr',
160
'$store_val_i32',
161
'$store_val_i64',
162
'$store_val_f32',
163
'$store_val_f64',
164
'$memory_grow_pre',
165
'$memory_grow_post',
166
);
167
168