v8/test/mjsunit/regress/wasm/regression-710844.js
gdeepti 78b8d7ed8c [wasm] Handle no initial memory case correctly when memory is exported
Currently when the module has memory specified in the compiled bytes, but with no initial memory
exported memory assigns a bogus buffer to the instance. When grow_memory is called on this buffer, it tries to patch an incorrect address.
 - Fix exported memory to handle no initial memory
 - Fix grow_memory to handle uninitialized buffers

BUG=chromium:710844
R=bradnelson@chromium.org

Review-Url: https://codereview.chromium.org/2820223002
Cr-Commit-Position: refs/heads/master@{#44671}
2017-04-18 06:34:16 +00:00

24 lines
705 B
JavaScript

// Copyright 2017 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
load("test/mjsunit/wasm/wasm-constants.js");
load("test/mjsunit/wasm/wasm-module-builder.js");
(function() {
"use asm";
var builder = new WasmModuleBuilder();
builder.addMemory(0, 5, true);
builder.addFunction("regression_710844", kSig_v_v)
.addBody([
kExprI32Const, 0x03,
kExprNop,
kExprGrowMemory, 0x00,
kExprI32Const, 0x13,
kExprNop,
kExprI32StoreMem8, 0x00, 0x10
]).exportFunc();
let instance = builder.instantiate();
instance.exports.regression_710844();
})();