Fix issue with __proto__ when using ES6 object literals
authorarv <arv@chromium.org>
Tue, 20 Jan 2015 16:31:27 +0000 (08:31 -0800)
committerCommit bot <commit-bot@chromium.org>
Tue, 20 Jan 2015 16:31:43 +0000 (16:31 +0000)
commitbc3b2960e3b7abc16440717f289a430aef904cb1
treee3970407d4eb098429818079064ca8690307e242
parentfc1007027ec264a5e666dc6ca9fac8fa4c2c2b0c
Fix issue with __proto__ when using ES6 object literals

It should be possible to create a concise method with the name
__proto__ without setting the [[Prototype]]. Similarly, property
name shorthands with the name __proto__ should define an own
property.

BUG=v8:3818
LOG=Y
R=adamk, dslomov@chromium.org

Review URL: https://codereview.chromium.org/858673002

Cr-Commit-Position: refs/heads/master@{#26172}
src/ast.cc
src/ast.h
src/compiler/ast-graph-builder.cc
src/ia32/full-codegen-ia32.cc
src/preparser.h
test/mjsunit/harmony/object-literals-method.js
test/mjsunit/harmony/object-literals-property-shorthand.js
test/mjsunit/object-literal-multiple-proto-fields.js [new file with mode: 0644]