Chromium Code Reviews| Index: test/cctest/wasm/test-run-wasm-module.cc |
| diff --git a/test/cctest/wasm/test-run-wasm-module.cc b/test/cctest/wasm/test-run-wasm-module.cc |
| index 44476bec2f46f4a434963c4be5b741fa171f6a9e..e34927b02280065ed60f1a6b880e498bb33f9baa 100644 |
| --- a/test/cctest/wasm/test-run-wasm-module.cc |
| +++ b/test/cctest/wasm/test-run-wasm-module.cc |
| @@ -1112,6 +1112,7 @@ TEST(Run_WasmModule_Buffer_Externalized_GrowMem) { |
| void* backing_store = memory->backing_store(); |
| uint64_t byte_length = NumberToSize(memory->byte_length()); |
| uint32_t result = WasmMemoryObject::Grow(isolate, mem_obj, 4); |
| + wasm::DetachWebAssemblyMemoryBuffer(isolate, memory, 4); |
| CHECK_EQ(16, result); |
| if (!memory->has_guard_region()) { |
| isolate->array_buffer_allocator()->Free(backing_store, byte_length); |
| @@ -1133,3 +1134,25 @@ TEST(Run_WasmModule_Buffer_Externalized_GrowMem) { |
| } |
| Cleanup(); |
| } |
| + |
| +TEST(Run_WasmModule_Buffer_Externalized_GrowMemMemSize) { |
| + { |
| + static const int kPageSize = 0x10000; |
|
ahaas
2017/05/10 08:33:48
use WasmModule::kPageSize instead.
gdeepti
2017/05/10 15:50:35
Done.
|
| + Isolate* isolate = CcTest::InitIsolateOnce(); |
| + |
| + HandleScope scope(isolate); |
| + void* backing_store = |
| + isolate->array_buffer_allocator()->Allocate(16 * kPageSize); |
| + Handle<JSArrayBuffer> buffer = wasm::SetupArrayBuffer( |
| + isolate, backing_store, 16 * kPageSize, false, false); |
| + Handle<WasmMemoryObject> mem_obj = |
| + WasmMemoryObject::New(isolate, buffer, 100); |
| + v8::Utils::ToLocal(buffer)->Externalize(); |
| + int32_t result = WasmMemoryObject::Grow(isolate, mem_obj, 0); |
| + wasm::DetachWebAssemblyMemoryBuffer(isolate, buffer, 0); |
| + CHECK_EQ(16, result); |
| + |
| + isolate->array_buffer_allocator()->Free(backing_store, 16 * kPageSize); |
| + } |
| + Cleanup(); |
| +} |