| Index: test/mjsunit/object-literal-overwrite.js
|
| diff --git a/test/mjsunit/object-literal-overwrite.js b/test/mjsunit/object-literal-overwrite.js
|
| index 5a3584df8ae853da36577b19376ba51692e0e2eb..4d19d35d12bd68c214c57bf29bda471f1864a48a 100644
|
| --- a/test/mjsunit/object-literal-overwrite.js
|
| +++ b/test/mjsunit/object-literal-overwrite.js
|
| @@ -25,6 +25,8 @@
|
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| +// Flags: --allow-natives-syntax
|
| +
|
| // Check that constants and computed properties are overwriting each other
|
| // correctly, i.e., the last initializer for any name is stored in the object.
|
|
|
| @@ -49,7 +51,7 @@ var foo3 = {
|
|
|
| var foo4 = {
|
| bar: function(b){},
|
| - bar: 7,
|
| + bar: 4,
|
| bar: function(){return 7},
|
| };
|
|
|
| @@ -68,6 +70,14 @@ var foo7 = {
|
| 15: 7
|
| }
|
|
|
| +function foo8(i) {
|
| + var obj = {
|
| + x: {a: i},
|
| + x: 7
|
| + };
|
| + return obj.x;
|
| +};
|
| +
|
| assertEquals(7, foo1.bar);
|
| assertEquals(7, foo2.bar);
|
| assertEquals(7, foo3.bar);
|
| @@ -76,6 +86,12 @@ assertEquals(7, foo5[13]);
|
| assertEquals(7, foo6[14.31]);
|
| assertEquals(7, foo7[15]);
|
|
|
| +assertEquals(7, foo8(1));
|
| +assertEquals(7, foo8(1));
|
| +%OptimizeFunctionOnNextCall(foo8);
|
| +assertEquals(7, foo8(1));
|
| +
|
| +
|
| // Test for the classic code generator.
|
|
|
| function fun(x) {
|
|
|