| Index: test/mjsunit/wasm/grow-memory.js | 
| diff --git a/test/mjsunit/wasm/grow-memory.js b/test/mjsunit/wasm/grow-memory.js | 
| index 116c69358c6e7121530391ef098c339134c072dc..ecc105ee0d1d589f85f08689446c8791a5b8cfe9 100644 | 
| --- a/test/mjsunit/wasm/grow-memory.js | 
| +++ b/test/mjsunit/wasm/grow-memory.js | 
| @@ -326,3 +326,35 @@ function testGrowMemoryPreservesDataMemOp8() { | 
| } | 
|  | 
| testGrowMemoryPreservesDataMemOp8(); | 
| + | 
| +function testGrowMemoryOutOfBoundsOffset() { | 
| +  var builder = genGrowMemoryBuilder(); | 
| +  builder.addMemory(1, 1, false); | 
| +  var module = builder.instantiate(); | 
| +  var offset, val; | 
| +  function peek() { return module.exports.load(offset); } | 
| +  function poke(value) { return module.exports.store(offset, value); } | 
| +  function growMem(pages) { return module.exports.grow_memory(pages); } | 
| + | 
| +  offset = 3*kPageSize + 4; | 
| +  assertTraps(kTrapMemOutOfBounds, poke); | 
| + | 
| +  assertEquals(1, growMem(1)); | 
| +  assertTraps(kTrapMemOutOfBounds, poke); | 
| + | 
| +  assertEquals(2, growMem(1)); | 
| +  assertTraps(kTrapMemOutOfBounds, poke); | 
| + | 
| +  assertEquals(3, growMem(1)); | 
| + | 
| +  for (offset = 3*kPageSize; offset <= 4*kPageSize - 4; offset++) { | 
| +    poke(0xaced); | 
| +    assertEquals(0xaced, peek()); | 
| +  } | 
| + | 
| +  for (offset = 4*kPageSize - 3; offset <= 4*kPageSize + 4; offset++) { | 
| +    assertTraps(kTrapMemOutOfBounds, poke); | 
| +  } | 
| +} | 
| + | 
| +testGrowMemoryOutOfBoundsOffset(); | 
|  |