| Index: src/v8natives.js
|
| diff --git a/src/v8natives.js b/src/v8natives.js
|
| index 24b0c51c19f6b2c43a025e09003d9174ef6cb0fd..34f5d903a14d262d33cb1d48fe555e5d36e1938c 100644
|
| --- a/src/v8natives.js
|
| +++ b/src/v8natives.js
|
| @@ -1384,15 +1384,19 @@ function ObjectIs(obj1, obj2) {
|
| }
|
|
|
|
|
| -// Harmony __proto__ getter.
|
| +// ECMA-262, Edition 6, section B.2.2.1.1
|
| function ObjectGetProto() {
|
| - return %GetPrototype(this);
|
| + return %GetPrototype(ToObject(this));
|
| }
|
|
|
|
|
| -// Harmony __proto__ setter.
|
| -function ObjectSetProto(obj) {
|
| - return %SetPrototype(this, obj);
|
| +// ECMA-262, Edition 6, section B.2.2.1.2
|
| +function ObjectSetProto(proto) {
|
| + CHECK_OBJECT_COERCIBLE(this, "Object.prototype.__proto__");
|
| +
|
| + if (IS_SPEC_OBJECT(proto) || IS_NULL(proto) && IS_SPEC_OBJECT(this)) {
|
| + %SetPrototype(this, proto);
|
| + }
|
| }
|
|
|
|
|
|
|