| Index: src/v8natives.js
|
| diff --git a/src/v8natives.js b/src/v8natives.js
|
| index e27f3b00a34a94375d12eee1aafbdc6f78076532..700fe5889c89c4e4eddfd79b1e5060a15b67b152 100644
|
| --- a/src/v8natives.js
|
| +++ b/src/v8natives.js
|
| @@ -326,18 +326,18 @@ function IsInconsistentDescriptor(desc) {
|
| // ES5 8.10.4
|
| function FromPropertyDescriptor(desc) {
|
| if (IS_UNDEFINED(desc)) return desc;
|
| - var obj = new $Object();
|
| +
|
| if (IsDataDescriptor(desc)) {
|
| - obj.value = desc.getValue();
|
| - obj.writable = desc.isWritable();
|
| - }
|
| - if (IsAccessorDescriptor(desc)) {
|
| - obj.get = desc.getGet();
|
| - obj.set = desc.getSet();
|
| - }
|
| - obj.enumerable = desc.isEnumerable();
|
| - obj.configurable = desc.isConfigurable();
|
| - return obj;
|
| + return { value: desc.getValue(),
|
| + writable: desc.isWritable(),
|
| + enumerable: desc.isEnumerable(),
|
| + configurable: desc.isConfigurable() };
|
| + }
|
| + // Must be an AccessorDescriptor then. We never return a generic descriptor.
|
| + return { get: desc.getGet(),
|
| + set: desc.getSet(),
|
| + enumerable: desc.isEnumerable(),
|
| + configurable: desc.isConfigurable() };
|
| }
|
|
|
| // ES5 8.10.5.
|
|
|