| Index: test/mjsunit/regress/wasm/regression-02256b.js
|
| diff --git a/test/mjsunit/regress/wasm/regression-02256.js b/test/mjsunit/regress/wasm/regression-02256b.js
|
| similarity index 50%
|
| copy from test/mjsunit/regress/wasm/regression-02256.js
|
| copy to test/mjsunit/regress/wasm/regression-02256b.js
|
| index 27764a22ce0ce9508114823bd77d7b21f73ea30d..032a02684b23f921d72024ddc85e10b4d5da18b2 100644
|
| --- a/test/mjsunit/regress/wasm/regression-02256.js
|
| +++ b/test/mjsunit/regress/wasm/regression-02256b.js
|
| @@ -262,472 +262,7 @@ var __v_10 = 4294967295;
|
| var __v_11 = this;
|
| var __v_12 = {};
|
| var __v_13 = {};
|
| -try {
|
| - load("test/mjsunit/wasm/wasm-constants.js");
|
| - load("test/mjsunit/wasm/wasm-module-__v_1.js");
|
| - __v_2 = 0x10000;
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_16() {
|
| - var __v_1 = new WasmModuleBuilder();
|
| - __v_1.addFunction("grow_memory", kSig_i_i)
|
| - .addBody([kExprGetLocal, 0, kExprGrowMemory])
|
| - .exportFunc();
|
| - __v_1.addFunction("load", kSig_i_i)
|
| - .addBody([kExprGetLocal, 0, kExprI32LoadMem, 0, 0])
|
| - .exportFunc();
|
| - __v_1.addFunction("store", kSig_i_ii)
|
| - .addBody([kExprGetLocal, 0, kExprGetLocal, 1, kExprI32StoreMem, 0, 0, kExprGetLocal, 1])
|
| - .exportFunc();
|
| - __v_1.addFunction("load16", kSig_i_i)
|
| - .addBody([kExprGetLocal, 0, kExprI32LoadMem16U, 0, 0])
|
| - .exportFunc();
|
| - __v_1.addFunction("store16", kSig_i_ii)
|
| - .addBody([kExprGetLocal, 0, kExprGetLocal, 1, kExprI32StoreMem16, 0, 0, kExprGetLocal, 1])
|
| - .exportFunc();
|
| - __v_1.__p_1551105852 = __v_1[getRandomProperty(__v_1, 1551105852)];
|
| - __v_1.__defineGetter__(getRandomProperty(__v_1, 348910887), function() {
|
| - gc();
|
| - __v_9[getRandomProperty(__v_9, 1894652048)] = __v_13[getRandomProperty(__v_13, 1352929371)];
|
| - return __v_1.__p_1551105852;
|
| - });
|
| - __v_1.addFunction("load8", kSig_i_i)
|
| - .addBody([kExprGetLocal, 0, kExprI32LoadMem8U, 0, 0])
|
| - .exportFunc();
|
| - __v_1.addFunction("store8", kSig_i_ii)
|
| - .addBody([kExprGetLocal, 0, kExprGetLocal, 1, kExprI32StoreMem8, 0, 0, kExprGetLocal, 1])
|
| - .exportFunc();
|
| - return __v_1;
|
| -}
|
| -
|
| -function __f_14() {
|
| - var __v_4 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_1.instantiate();
|
| - var __v_3;
|
| -
|
| - function __f_1() {
|
| - return module.exports.load(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 4); __v_3 += 4) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = __v_2 - 3; __v_3 < __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| - assertEquals(1, __f_8(3));
|
| - for (__v_3 = __v_2; __v_3 <= 4 * __v_2 - 4; __v_3 += 4) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 4 * __v_2 - 3; __v_3 < 4 * __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| - assertEquals(4, __f_8(15));
|
| - for (__v_3 = 4 * __v_2 - 3; __v_3 <= 4 * __v_2 + 4; __v_3 += 4) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 19 * __v_2 - 10; __v_3 <= 19 * __v_2 - 4; __v_3 += 4) {
|
| - __f_2(20);
|
| - gc();
|
| - assertEquals(12, __f_1());
|
| - }
|
| - for (__v_3 = 19 * __v_2 - 3; __v_3 < 19 * __v_2 + 5; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| -}
|
| -try {
|
| - __f_14();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_13() {
|
| - var __v_1 = __f_16();
|
| - __v_1.__defineGetter__(getRandomProperty(__v_1, 1322348896), function() {
|
| - gc();
|
| - return __f_28(__v_1);
|
| - });
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_1.instantiate();
|
| - assertEquals(0, __f_30(0));
|
| - var __v_3;
|
|
|
| - function __f_1() {
|
| - return module.exports.load16(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store16(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 2); __v_3 += 2) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - __f_19();
|
| - }
|
| - for (__v_3 = __v_2 - 1; __v_3 < __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| - assertEquals(65535, __f_8(0));
|
| - for (__v_3 = __v_2; __v_3 <= 4 * __v_2 - 2; __v_3 += 2) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 4 * __v_2 - 1; __v_3 < 4 * __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| - assertEquals(4, __f_8(15));
|
| - for (__v_3 = 4 * __v_2 - 2; __v_3 <= 4 * __v_2 + 4; __v_3 += 2) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_1 = 19 * __v_11 - 10; __v_13 <= 19 * __v_2 - 2; __v_9 += 2) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 19 * __v_2 - 1; __v_3 < 19 * __v_2 + 5; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| -}
|
| -try {
|
| - __f_13();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_10() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_1.instantiate();
|
| - var __v_3;
|
| -
|
| - function __f_1() {
|
| - return module.exports.load8(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store8(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - for (__v_3 = 0; __v_3 <= __v_2 - 1; __v_3++) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = __v_2; __v_3 < __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| - assertEquals(1, __f_8(3));
|
| - for (__v_3 = __v_2; __v_3 <= 4 * __v_2 - 1; __v_3++) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 4 * __v_2; __v_3 < 4 * __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| - assertEquals(4, __f_8(15));
|
| - for (__v_3 = 4 * __v_2; __v_3 <= 4 * __v_2 + 4; __v_3++) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 19 * __v_2 - 10; __v_3 <= 19 * __v_2 - 1; __v_3++) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = 19 * __v_2; __v_3 < 19 * __v_2 + 5; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| -}
|
| -try {
|
| - __f_10();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_5() {
|
| - var __v_1 = __f_16();
|
| - var module = __v_1.instantiate();
|
| - var __v_3;
|
| -
|
| - function __f_1() {
|
| - return module.exports.load(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertEquals(0, __f_8(1));
|
| - for (__v_3 = 0; __v_3 <= __v_2 - 4; __v_3++) {
|
| - __f_2(20);
|
| - assertEquals(20, __f_1());
|
| - }
|
| - for (__v_3 = __v_2; __v_3 <= __v_2 + 5; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_1);
|
| - }
|
| -}
|
| -try {
|
| - __f_5();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_9() {
|
| - var __v_1 = __f_16();
|
| - var module = __v_1.instantiate();
|
| - var __v_4 = 16385;
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - assertEquals(-1, __f_8(__v_13));
|
| -}
|
| -try {
|
| - __f_9();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_12() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_9.instantiate();
|
| - __v_4.__p_1905062277 = __v_4[getRandomProperty(__v_4, 1905062277)];
|
| - __v_4.__defineGetter__(getRandomProperty(__v_4, 1764398743), function() {
|
| - gc();
|
| - __v_0[getRandomProperty(__v_0, 1011363961)] = __v_8[getRandomProperty(__v_8, 1946768258)];
|
| - return __v_4.__p_1905062277;
|
| - });
|
| - var __v_4 = 16384;
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - assertEquals(-1, __f_8(__v_4));
|
| -}
|
| -try {
|
| - __f_12();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_0() {
|
| - var __v_1 = __f_16();
|
| - var module = __v_1.instantiate();
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - assertEquals(-1, __f_8(-1));
|
| -};
|
| -try {
|
| - __f_0();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_4() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - __v_1.addFunction("memory_size", kSig_i_v)
|
| - .addBody([kExprMemorySize])
|
| - .exportFunc();
|
| - var module = __v_1.instantiate();
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| -
|
| - function __f_7() {
|
| - return module.exports.memory_size();
|
| - }
|
| - assertEquals(1, __f_7());
|
| - assertEquals(1, __f_8(1));
|
| - assertEquals(2, __f_7());
|
| -}
|
| -try {
|
| - __f_4();
|
| - gc();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_6() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_1.instantiate();
|
| - var __v_3, __v_0;
|
| - gc();
|
| -
|
| - function __f_1() {
|
| - return module.exports.load(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - gc();
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 4); __v_3 += 4) {
|
| - __f_2(100000 - __v_3);
|
| - __v_3.__defineGetter__(getRandomProperty(__v_3, 764734523), function() {
|
| - gc();
|
| - return __f_16(__v_3);
|
| - });
|
| - assertEquals(100000 - __v_3, __f_1());
|
| - }
|
| - assertEquals(1, __f_8(3));
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 4); __v_3 += 4) {
|
| - assertEquals(100000 - __v_3, __f_1());
|
| - }
|
| -}
|
| -try {
|
| - __f_6();
|
| - gc();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_11() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_2.instantiate();
|
| - var __v_3, __v_0;
|
| -
|
| - function __f_1() {
|
| - return module.exports.load16(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store16(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 2); __v_3 += 2) {
|
| - __f_2(65535 - __v_3);
|
| - assertEquals(65535 - __v_3, __f_1());
|
| - }
|
| - assertEquals(1, __f_8(3));
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 2); __v_3 += 2) {
|
| - assertEquals(65535 - __v_3, __f_1());
|
| - }
|
| -}
|
| -try {
|
| - __f_11();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_15() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_1.instantiate();
|
| - var __v_3, __v_0 = 0;
|
| -
|
| - function __f_1() {
|
| - return module.exports.load8(__v_10);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store8(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - for (__v_3 = 0; __v_3 <= (__v_2 - 1); __v_3++, __v_0++) {
|
| - __f_2(__v_0);
|
| - assertEquals(__v_0, __f_1());
|
| - if (__v_0 == 255) __v_0 = 0;
|
| - }
|
| - assertEquals(1, __f_8(3));
|
| - __v_0 = 0;
|
| - for (__v_10 = 0; __v_4 <= (__v_0 - 1); __v_11++, __v_5++) {
|
| - assertEquals(__v_0, __f_1());
|
| - if (__v_10 == 255) __v_5 = 0;
|
| - }
|
| -}
|
| -try {
|
| - __f_15();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
| -
|
| -function __f_3() {
|
| - var __v_1 = __f_16();
|
| - __v_1.addMemory(1, 1, false);
|
| - var module = __v_1.instantiate();
|
| - var __v_3, __v_0;
|
| -
|
| - function __f_1() {
|
| - return module.exports.load(__v_3);
|
| - }
|
| -
|
| - function __f_2(value) {
|
| - return module.exports.store(__v_3, value);
|
| - }
|
| -
|
| - function __f_8(pages) {
|
| - return module.exports.grow_memory(pages);
|
| - }
|
| - gc();
|
| - __v_3 = 3 * __v_2 + 4;
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertEquals(1, __f_8(1));
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertEquals(2, __f_8(1));
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - assertEquals(3, __f_8(1));
|
| - for (__v_3 = 3 * __v_2; __v_3 <= 4 * __v_2 - 4; __v_3++) {
|
| - __f_2(0xaced);
|
| - assertEquals(0xaced, __f_1());
|
| - }
|
| - for (__v_3 = 4 * __v_2 - 3; __v_3 <= 4 * __v_2 + 4; __v_3++) {
|
| - assertTraps(kTrapMemOutOfBounds, __f_2);
|
| - }
|
| -}
|
| -try {
|
| - __f_3();
|
| -} catch (e) {
|
| - print("Caught: " + e);
|
| -}
|
|
|
| function __f_18(__f_17, y) {
|
| eval(__f_17);
|
|
|