OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 // Flags: --expose-wasm |
| 6 |
| 7 load("test/mjsunit/wasm/wasm-constants.js"); |
| 8 load("test/mjsunit/wasm/wasm-module-builder.js"); |
| 9 |
| 10 (function() { |
| 11 var builder = new WasmModuleBuilder(); |
| 12 builder.addFunction("test", kSig_i_iii) |
| 13 .addBody([ |
| 14 kExprI8Const, 0xcb, |
| 15 kExprI32Clz, |
| 16 kExprI32Clz, |
| 17 kExprI32Clz, |
| 18 kExprI32Const, 0x67, |
| 19 kExprI8Const, 0x67, |
| 20 kExprI32Clz, |
| 21 kExprI32Clz, |
| 22 kExprI32Clz, |
| 23 kExprI32Clz, |
| 24 kExprI32Clz, |
| 25 kExprI32Eq, |
| 26 kExprI32RemU, |
| 27 kExprI32Clz, |
| 28 kExprI32Const, 0x25, |
| 29 kExprI32Const, 0x82, 0x6c, |
| 30 kExprI32Add, |
| 31 kExprI32Const, 0x41, |
| 32 kExprI32Clz, |
| 33 kExprI32Clz, |
| 34 kExprI32Const, 0x41, |
| 35 kExprI32Const, 0x41, |
| 36 kExprI32Const, 0x70, |
| 37 kExprI32Clz, |
| 38 kExprI32Clz, |
| 39 kExprI32Clz, |
| 40 kExprI32Const, 0x70, |
| 41 kExprI32Clz, |
| 42 kExprI32Clz, |
| 43 kExprI32Const, 0x67, |
| 44 kExprI32Clz, |
| 45 kExprI32Clz, |
| 46 kExprI32GeS, |
| 47 kExprI32Const, 0x67, |
| 48 kExprI32Clz, |
| 49 kExprI32Clz, |
| 50 kExprI32Clz, |
| 51 kExprI32Clz, |
| 52 kExprI32Const, 0x41, |
| 53 kExprDrop, |
| 54 kExprI32Const, 0x41, |
| 55 kExprI32Const, 0x41, |
| 56 kExprI32Clz, |
| 57 kExprI32Clz, |
| 58 kExprI32Const, 0x41, |
| 59 kExprI32Clz, |
| 60 kExprI32Clz, |
| 61 kExprI32Clz, |
| 62 kExprI32Clz, |
| 63 kExprI32Clz, |
| 64 kExprI32Clz, |
| 65 kExprI32Clz, |
| 66 kExprCallFunction, 0x00, // function #0 |
| 67 kExprCallFunction, 0x00, // function #0 |
| 68 kExprNop, |
| 69 kExprNop, |
| 70 kExprNop, |
| 71 kExprNop, |
| 72 kExprNop, |
| 73 kExprNop, |
| 74 kExprNop, |
| 75 kExprNop, |
| 76 kExprNop, |
| 77 kExprNop, |
| 78 kExprNop, |
| 79 kExprNop, |
| 80 kExprNop, |
| 81 kExprI32Const, 0x41, |
| 82 kExprI32Const, 0x41, |
| 83 kExprI32Const, 0x01, |
| 84 kExprNop, |
| 85 kExprNop, |
| 86 kExprNop, |
| 87 kExprNop, |
| 88 kExprSelect, |
| 89 kExprNop, |
| 90 kExprNop, |
| 91 kExprNop, |
| 92 kExprNop, |
| 93 kExprNop, |
| 94 kExprI32Const, 0x41, |
| 95 kExprI32Const, 0x0e, |
| 96 kExprI32Const, 0x41, |
| 97 kExprI32Const, 0x41, |
| 98 kExprI32Clz, |
| 99 kExprI32Clz, |
| 100 kExprI32Clz, |
| 101 kExprI32Clz, |
| 102 kExprI32Clz, |
| 103 kExprI32Clz, |
| 104 kExprI32Const, 0x41, |
| 105 kExprI32Const, 0x41, |
| 106 kExprI32Clz, |
| 107 kExprI32Clz, |
| 108 kExprI32Clz, |
| 109 kExprI32Clz, |
| 110 kExprI32Clz, |
| 111 kExprI32Clz, |
| 112 kExprI32Clz, |
| 113 kExprI32Clz, |
| 114 kExprCallFunction, 0x00, // function #0 |
| 115 kExprCallFunction, 0x00, // function #0 |
| 116 kExprNop, |
| 117 kExprNop, |
| 118 kExprNop, |
| 119 kExprNop, |
| 120 kExprNop, |
| 121 kExprNop, |
| 122 kExprNop, |
| 123 kExprNop, |
| 124 kExprNop, |
| 125 kExprNop, |
| 126 kExprNop, |
| 127 kExprNop, |
| 128 kExprNop, |
| 129 kExprI32Const, 0x41, |
| 130 kExprI32Const, 0x41, |
| 131 kExprI32Const, 0x01, |
| 132 kExprNop, |
| 133 kExprNop, |
| 134 kExprNop, |
| 135 kExprNop, |
| 136 kExprSelect, |
| 137 kExprNop, |
| 138 kExprNop, |
| 139 kExprNop, |
| 140 kExprNop, |
| 141 kExprNop, |
| 142 kExprI32Const, 0x41, |
| 143 kExprI32Const, 0x0e, |
| 144 kExprI32Const, 0x41, |
| 145 kExprI32Const, 0x41, |
| 146 kExprI32Clz, |
| 147 kExprI32Clz, |
| 148 kExprI32Clz, |
| 149 kExprI32Clz, |
| 150 kExprI32Clz, |
| 151 kExprI32Clz, |
| 152 kExprI32Const, 0x41, |
| 153 kExprI32Const, 0x41, |
| 154 kExprI32Clz, |
| 155 kExprI32Clz, |
| 156 kExprI32Clz, |
| 157 kExprI32Clz, |
| 158 kExprI32Clz, |
| 159 kExprI32Clz, |
| 160 kExprI32Clz, |
| 161 kExprI32Clz, |
| 162 kExprCallFunction, 0x00, // function #0 |
| 163 kExprCallFunction, 0x00, // function #0 |
| 164 kExprNop, |
| 165 kExprNop, |
| 166 kExprNop, |
| 167 kExprNop, |
| 168 kExprNop, |
| 169 kExprNop, |
| 170 kExprNop, |
| 171 kExprNop, |
| 172 kExprNop, |
| 173 kExprNop, |
| 174 kExprNop, |
| 175 kExprNop, |
| 176 kExprNop, |
| 177 kExprI32Const, 0x41, |
| 178 kExprI32Const, 0x41, |
| 179 kExprNop, |
| 180 kExprNop, |
| 181 kExprNop, |
| 182 kExprNop, |
| 183 kExprNop, |
| 184 kExprI32Const, 0x41, |
| 185 kExprI32Const, 0x41, |
| 186 kExprI32Const, 0x01, |
| 187 kExprNop, |
| 188 kExprNop, |
| 189 kExprNop, |
| 190 kExprNop, |
| 191 kExprSelect, |
| 192 kExprNop, |
| 193 kExprNop, |
| 194 kExprNop, |
| 195 kExprNop, |
| 196 kExprNop, |
| 197 kExprI32Const, 0x41, |
| 198 kExprI32Const, 0x0e, |
| 199 kExprI32Const, 0x41, |
| 200 kExprI32Const, 0x41, |
| 201 kExprI32Clz, |
| 202 kExprI32Clz, |
| 203 kExprI32Clz, |
| 204 kExprI32Clz, |
| 205 kExprI32Clz, |
| 206 kExprI32Clz, |
| 207 kExprI32Const, 0x41, |
| 208 kExprI32Const, 0x41, |
| 209 kExprI32Clz, |
| 210 kExprI32Clz, |
| 211 kExprI32Clz, |
| 212 kExprI32Clz, |
| 213 kExprI32Clz, |
| 214 kExprI32Clz, |
| 215 kExprI32Clz, |
| 216 kExprI32Clz, |
| 217 kExprCallFunction, 0x00, // function #0 |
| 218 kExprCallFunction, 0x00, // function #0 |
| 219 kExprNop, |
| 220 kExprNop, |
| 221 kExprNop, |
| 222 kExprNop, |
| 223 kExprNop, |
| 224 kExprNop, |
| 225 kExprNop, |
| 226 kExprNop, |
| 227 kExprNop, |
| 228 kExprNop, |
| 229 kExprNop, |
| 230 kExprNop, |
| 231 kExprNop, |
| 232 kExprI32Const, 0x41, |
| 233 kExprI32Const, 0x41, |
| 234 kExprI32Const, 0x01, |
| 235 kExprNop, |
| 236 kExprNop, |
| 237 kExprNop, |
| 238 kExprNop, |
| 239 kExprSelect, |
| 240 kExprNop, |
| 241 kExprNop, |
| 242 kExprNop, |
| 243 kExprNop, |
| 244 kExprNop, |
| 245 kExprI32Const, 0x41, |
| 246 kExprI32Const, 0x0e, |
| 247 kExprI32Const, 0x41, |
| 248 kExprI32Const, 0x41, |
| 249 kExprI32Clz, |
| 250 kExprI32Clz, |
| 251 kExprI32Clz, |
| 252 kExprI32Clz, |
| 253 kExprI32Clz, |
| 254 kExprI32Clz, |
| 255 kExprI32Const, 0x41, |
| 256 kExprI32Const, 0x41, |
| 257 kExprI32Clz, |
| 258 kExprI32Clz, |
| 259 kExprI32Clz, |
| 260 kExprI32Clz, |
| 261 kExprI32Clz, |
| 262 kExprI32Clz, |
| 263 kExprI32Clz, |
| 264 kExprI32Clz, |
| 265 kExprCallFunction, 0x00, // function #0 |
| 266 kExprCallFunction, 0x00, // function #0 |
| 267 kExprNop, |
| 268 kExprNop, |
| 269 kExprNop, |
| 270 kExprNop, |
| 271 kExprNop, |
| 272 kExprNop, |
| 273 kExprNop, |
| 274 kExprNop, |
| 275 kExprNop, |
| 276 kExprNop, |
| 277 kExprNop, |
| 278 kExprNop, |
| 279 kExprNop, |
| 280 kExprNop, |
| 281 kExprNop, |
| 282 kExprNop, |
| 283 kExprI32Const, 0x4a, |
| 284 kExprI32Const, 0x41, |
| 285 kExprI32LtU, |
| 286 kExprI32Const, 0x67, |
| 287 kExprI32Clz, |
| 288 kExprI32GtS, |
| 289 kExprI32Const, 0x41, |
| 290 kExprI32Const, 0x41, |
| 291 kExprI32Ne, |
| 292 kExprI32Clz, |
| 293 kExprI32Clz, |
| 294 kExprI32Clz, |
| 295 kExprI32Clz, |
| 296 kExprI32Clz, |
| 297 kExprI32Const, 0x41, |
| 298 kExprI32Const, 0x1a, |
| 299 kExprI32Const, 0x71, |
| 300 kExprI32And, |
| 301 kExprI32And, |
| 302 kExprI32And, |
| 303 kExprI32And, |
| 304 kExprI32And, |
| 305 kExprI32And, |
| 306 kExprI32And, |
| 307 kExprI32And, |
| 308 kExprI32ShrS, |
| 309 kExprI32Clz, |
| 310 kExprCallFunction, 0x00, // function #0 |
| 311 kExprCallFunction, 0x00, // function #0 |
| 312 kExprI32Clz, |
| 313 kExprNop, |
| 314 kExprNop, |
| 315 kExprNop, |
| 316 kExprNop, |
| 317 kExprNop, |
| 318 kExprNop, |
| 319 kExprNop, |
| 320 kExprNop, |
| 321 kExprNop, |
| 322 kExprNop, |
| 323 kExprNop, |
| 324 kExprNop, |
| 325 kExprNop, |
| 326 kExprNop, |
| 327 kExprNop, |
| 328 kExprNop, |
| 329 kExprNop, |
| 330 kExprNop, |
| 331 kExprI32Const, 0x4a, |
| 332 kExprI32Const, 0x41, |
| 333 kExprI32LtU, |
| 334 kExprI32Const, 0x67, |
| 335 kExprI32Clz, |
| 336 kExprI32GtS, |
| 337 kExprI32Const, 0x41, |
| 338 kExprI32Const, 0x41, |
| 339 kExprI32Ne, |
| 340 kExprI32Clz, |
| 341 kExprI32Clz, |
| 342 kExprI32Clz, |
| 343 kExprI32Clz, |
| 344 kExprI32Clz, |
| 345 kExprI32Const, 0x41, |
| 346 kExprI32Const, 0x1a, |
| 347 kExprI32Const, 0x71, |
| 348 kExprI32And, |
| 349 kExprI32And, |
| 350 kExprI32And, |
| 351 kExprI32And, |
| 352 kExprI32And, |
| 353 kExprI32And, |
| 354 kExprI32And, |
| 355 kExprI32And, |
| 356 kExprI32ShrS, |
| 357 kExprI32Clz, |
| 358 kExprCallFunction, 0x00, // function #0 |
| 359 kExprCallFunction, 0x00, // function #0 |
| 360 kExprI32Clz, |
| 361 kExprNop, |
| 362 kExprNop, |
| 363 kExprNop, |
| 364 kExprNop, |
| 365 kExprNop, |
| 366 kExprNop, |
| 367 kExprNop, |
| 368 kExprNop, |
| 369 kExprNop, |
| 370 kExprNop, |
| 371 kExprNop, |
| 372 kExprI32Clz, |
| 373 kExprI32Clz, |
| 374 kExprI32Clz, |
| 375 kExprI32Clz, |
| 376 kExprUnreachable, |
| 377 kExprCallFunction, 0x00, // function #0 |
| 378 kExprCallFunction, 0x00, // function #0 |
| 379 kExprNop, |
| 380 kExprNop, |
| 381 kExprNop, |
| 382 kExprNop, |
| 383 kExprReturn, |
| 384 kExprI32Clz, |
| 385 kExprI32Clz, |
| 386 kExprI32Clz, |
| 387 kExprI32Clz, |
| 388 kExprUnreachable, |
| 389 kExprI32Clz, |
| 390 kExprI32Clz, |
| 391 kExprI32Clz, |
| 392 kExprI32Clz, |
| 393 kExprNop, |
| 394 kExprNop, |
| 395 kExprNop, |
| 396 kExprNop, |
| 397 kExprI64DivS, |
| 398 kExprI64LoadMem, 0x01, 0x01, |
| 399 kExprNop, |
| 400 kExprNop, |
| 401 kExprNop, |
| 402 kExprNop, |
| 403 kExprNop, |
| 404 kExprNop, |
| 405 kExprNop, |
| 406 kExprNop, |
| 407 kExprI64DivU, |
| 408 kExprUnreachable, |
| 409 kExprI32GeS, |
| 410 kExprI8Const, 0xcb, |
| 411 ]) |
| 412 .exportFunc(); |
| 413 var module = builder.instantiate(); |
| 414 assertTrue(module != undefined); |
| 415 })(); |
OLD | NEW |