OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --expose-wasm | 5 // Flags: --expose-wasm |
6 | 6 |
7 load("test/mjsunit/wasm/wasm-constants.js"); | 7 load("test/mjsunit/wasm/wasm-constants.js"); |
8 load("test/mjsunit/wasm/wasm-module-builder.js"); | 8 load("test/mjsunit/wasm/wasm-module-builder.js"); |
9 | 9 |
10 (function TestOne() { | 10 (function TestOne() { |
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
390 | 390 |
391 // initial size is too large | 391 // initial size is too large |
392 assertThrows(() => builder.instantiate({m: {m: new WebAssembly.Memory({initial
: 3, maximum: 3})}})); | 392 assertThrows(() => builder.instantiate({m: {m: new WebAssembly.Memory({initial
: 3, maximum: 3})}})); |
393 | 393 |
394 // maximum size is too large | 394 // maximum size is too large |
395 assertThrows(() => builder.instantiate({m: {m: new WebAssembly.Memory({initial
: 1, maximum: 4})}})); | 395 assertThrows(() => builder.instantiate({m: {m: new WebAssembly.Memory({initial
: 1, maximum: 4})}})); |
396 | 396 |
397 // no maximum | 397 // no maximum |
398 assertThrows(() => builder.instantiate({m: {m: new WebAssembly.Memory({initial
: 1})}})); | 398 assertThrows(() => builder.instantiate({m: {m: new WebAssembly.Memory({initial
: 1})}})); |
399 })(); | 399 })(); |
| 400 |
| 401 (function TestMemoryGrowDetachBuffer() { |
| 402 print("TestMemoryGrowDetachBuffer"); |
| 403 let memory = new WebAssembly.Memory({initial: 1, maximum: 5}); |
| 404 var builder = new WasmModuleBuilder(); |
| 405 builder.addImportedMemory("m", "imported_mem"); |
| 406 let instance = builder.instantiate({m: {imported_mem: memory}}); |
| 407 let buffer = memory.buffer; |
| 408 assertEquals(kPageSize, buffer.byteLength); |
| 409 assertEquals(1, memory.grow(2)); |
| 410 assertTrue(buffer !== memory.buffer); |
| 411 assertEquals(0, buffer.byteLength); |
| 412 assertEquals(3*kPageSize, memory.buffer.byteLength); |
| 413 })(); |
OLD | NEW |