/js/src/jit-test/tests/jaeger/testSetElem-Indexed.js
http://github.com/zpao/v8monkey · JavaScript · 36 lines · 21 code · 10 blank · 5 comment · 0 complexity · db2c94f7989d6a1c886f8910b0bb00b7 MD5 · raw file
- // vim: set ts=4 sw=4 tw=99 et:
- function f() {
- return [[], [], [], []];
- }
- function setelem(obj, key, val) {
- obj[key] = val;
- }
- // Generate IC
- setelem([], 0, "hi");
- setelem([], 0, "hi");
- // Get some arrays pre-indexing.
- var arrays = f();
- // Do bad stuff.
- Object.defineProperty(Object.prototype, "1", { set: function (v) { this.kettle = v; } });
- var k = arrays[0];
- setelem(k, 1, 13);
- assertEq(k.kettle, 13);
- assertEq(k.hasOwnProperty("1"), false);
- Object.defineProperty(Array.prototype, "2", { set: function (v) { this.pot = v; } });
- k = arrays[1];
- setelem(k, 2, "yam");
- assertEq(k.pot, "yam");
- gc();
- // make sure this reset okay.
- setelem([], 0, "hi");
- setelem([], 0, "hi");