| Index: test/webkit/dfg-put-by-id-reallocate-storage-polymorphic.js
|
| diff --git a/test/webkit/concat-while-having-a-bad-time.js b/test/webkit/dfg-put-by-id-reallocate-storage-polymorphic.js
|
| similarity index 61%
|
| copy from test/webkit/concat-while-having-a-bad-time.js
|
| copy to test/webkit/dfg-put-by-id-reallocate-storage-polymorphic.js
|
| index dfda1e08a0b36194b787a44ee12a9693acd8aeaf..c3fe0fd1e3f680163b7d5b5fb75733864a229ba8 100644
|
| --- a/test/webkit/concat-while-having-a-bad-time.js
|
| +++ b/test/webkit/dfg-put-by-id-reallocate-storage-polymorphic.js
|
| @@ -22,10 +22,51 @@
|
| // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| description(
|
| -"Tests the behavior of Array.prototype.concat while the array is having a bad time due to one of the elements we are concatenating."
|
| +"Tests that a polymorphic DFG PutById that allocates, and then reallocates, property storage works."
|
| );
|
|
|
| -Object.defineProperty(Array.prototype, 0, { writable: false });
|
| -shouldBe("[42].concat()", "[42]");
|
| +function foo(o) {
|
| + o.a = 1;
|
| + o.b = 2;
|
| + o.c = 3;
|
| + o.d = 4;
|
| + o.e = 5;
|
| + o.f = 6;
|
| + o.g = 7;
|
| + o.h = 8;
|
| + o.i = 9;
|
| + o.j = 10;
|
| + o.k = 11;
|
| + o.l = 12;
|
| + o.m = 13;
|
| + o.n = 14;
|
| +}
|
| +
|
| +for (var i = 0; i < 150; ++i) {
|
| + var o;
|
| + if (i % 2)
|
| + o = {};
|
| + else
|
| + o = {foo: 42};
|
| + foo(o);
|
| + shouldBe("o.a", "1");
|
| + shouldBe("o.b", "2");
|
| + shouldBe("o.c", "3");
|
| + shouldBe("o.d", "4");
|
| + shouldBe("o.e", "5");
|
| + shouldBe("o.f", "6");
|
| + shouldBe("o.g", "7");
|
| + shouldBe("o.h", "8");
|
| + shouldBe("o.i", "9");
|
| + shouldBe("o.j", "10");
|
| + shouldBe("o.k", "11");
|
| + shouldBe("o.l", "12");
|
| + shouldBe("o.m", "13");
|
| + shouldBe("o.n", "14");
|
| + if (!(i % 2))
|
| + shouldBe("o.foo", "42");
|
| + else
|
| + shouldBe("o.foo", "void 0");
|
| +}
|
|
|
|
|
|
|