| Index: src/v8natives.js
|
| diff --git a/src/v8natives.js b/src/v8natives.js
|
| index 50a2774d122072654cabadc5b8e0a9d8a4f81921..894df1402598cadb5b93ac06da0075feb9d45d4f 100644
|
| --- a/src/v8natives.js
|
| +++ b/src/v8natives.js
|
| @@ -615,7 +615,13 @@ function DefineOwnProperty(obj, p, desc, should_throw) {
|
| } else {
|
| flag |= READ_ONLY;
|
| }
|
| - %DefineOrRedefineDataProperty(obj, p, desc.getValue(), flag);
|
| + var value; // Default value is undefined.
|
| + if (desc.hasValue()) {
|
| + value = desc.getValue();
|
| + } else if (!IS_UNDEFINED(current)) {
|
| + value = current.getValue();
|
| + }
|
| + %DefineOrRedefineDataProperty(obj, p, value, flag);
|
| } else {
|
| if (desc.hasGetter() && IS_FUNCTION(desc.getGet())) {
|
| %DefineOrRedefineAccessorProperty(obj, p, GETTER, desc.getGet(), flag);
|
|
|