typeCheckWrapper.jsView |
---|
112 | 112 | |
113 | 113 | |
114 | 114 | importType.push('i32') |
115 | 115 | importType.push('i32') |
116 | | - checkCode.push(i32_const(typeCode)) |
| 116 | + checkCode.push(i32Const(typeCode)) |
117 | 117 | if (baseType === 'i64') { |
118 | 118 | importType.push('i32') |
119 | 119 | |
120 | 120 | |
121 | 121 | const spliti64 = [ |
122 | | - get_local(index), |
123 | | - i64_const(32), |
124 | | - shr_u(), |
125 | | - wrap_i64(), |
126 | | - get_local(index), |
127 | | - wrap_i64()] |
| 122 | + getLocal(index), |
| 123 | + i64Const(32), |
| 124 | + shrU(), |
| 125 | + wrapI64(), |
| 126 | + getLocal(index), |
| 127 | + wrapI64()] |
128 | 128 | |
129 | 129 | checkCode = checkCode.concat(spliti64) |
130 | 130 | |
131 | 131 | const i32wrapCode = [ |
132 | | - get_local(invokeIndex), { |
| 132 | + getLocal(invokeIndex), { |
133 | 133 | 'return_type': 'i64', |
134 | 134 | 'name': 'extend_u/i32' |
135 | 135 | }, { |
136 | 136 | 'return_type': 'i64', |
139 | 139 | }, { |
140 | 140 | 'return_type': 'i64', |
141 | 141 | 'name': 'shl' |
142 | 142 | }, |
143 | | - get_local(++invokeIndex), { |
| 143 | + getLocal(++invokeIndex), { |
144 | 144 | 'return_type': 'i64', |
145 | 145 | 'name': 'extend_u/i32' |
146 | 146 | }, { |
147 | 147 | 'return_type': 'i64', |
151 | 151 | |
152 | 152 | invokeCode = invokeCode.concat(i32wrapCode) |
153 | 153 | invokerType.push('i32') |
154 | 154 | } else { |
155 | | - checkCode.push(get_local(index)) |
156 | | - invokeCode.push(get_local(invokeIndex)) |
| 155 | + checkCode.push(getLocal(index)) |
| 156 | + invokeCode.push(getLocal(invokeIndex)) |
157 | 157 | } |
158 | 158 | invokerType.push('i32') |
159 | 159 | |
160 | 160 | checkType.push(baseType) |
163 | 163 | invokeIndex++ |
164 | 164 | }) |
165 | 165 | |
166 | 166 | module[7].entries[0].code = checkCode.concat(setGlobals, [call(0), end()]) |
167 | | - invokeCode.push(i32_const(0)) |
168 | | - invokeCode.push(call_indirect(3)) |
| 167 | + invokeCode.push(i32Const(0)) |
| 168 | + invokeCode.push(callIndirect(3)) |
169 | 169 | invokeCode.push(end()) |
170 | 170 | module[7].entries[1].code = invokeCode |
171 | 171 | return module |
172 | 172 | } |
177 | 177 | 'immediates': index |
178 | 178 | } |
179 | 179 | } |
180 | 180 | |
181 | | -function call_indirect (index) { |
| 181 | +function callIndirect (index) { |
182 | 182 | return { |
183 | 183 | 'name': 'call_indirect', |
184 | 184 | 'immediates': { |
185 | 185 | 'index': index, |
193 | 193 | name: 'end' |
194 | 194 | } |
195 | 195 | } |
196 | 196 | |
197 | | -function get_local (index) { |
| 197 | +function getLocal (index) { |
198 | 198 | return { |
199 | 199 | name: 'get_local', |
200 | 200 | immediates: index |
201 | 201 | } |
202 | 202 | } |
203 | 203 | |
204 | | -function i32_const (num) { |
| 204 | +function i32Const (num) { |
205 | 205 | return { |
206 | 206 | 'return_type': 'i32', |
207 | 207 | 'name': 'const', |
208 | 208 | 'immediates': num |
209 | 209 | } |
210 | 210 | } |
211 | 211 | |
212 | | -function i64_const (num) { |
| 212 | +function i64Const (num) { |
213 | 213 | return { |
214 | 214 | 'return_type': 'i64', |
215 | 215 | 'name': 'const', |
216 | 216 | 'immediates': num |
217 | 217 | } |
218 | 218 | } |
219 | 219 | |
220 | | -function shr_u() { |
| 220 | +function shrU () { |
221 | 221 | return { |
222 | 222 | 'return_type': 'i64', |
223 | 223 | 'name': 'shr_u' |
224 | 224 | } |
225 | 225 | } |
226 | 226 | |
227 | | -function wrap_i64() { |
| 227 | +function wrapI64 () { |
228 | 228 | return { |
229 | 229 | 'return_type': 'i32', |
230 | 230 | 'name': 'wrap/i64' |
231 | 231 | } |