| Index: src/v8natives.js
|
| ===================================================================
|
| --- src/v8natives.js (revision 4957)
|
| +++ src/v8natives.js (working copy)
|
| @@ -677,9 +677,17 @@
|
| }
|
| }
|
|
|
| - // Property names are expected to be strings.
|
| - for (var i = 0; i < propertyNames.length; ++i)
|
| - propertyNames[i] = ToString(propertyNames[i]);
|
| + // Property names are expected to be unique strings.
|
| + var propertySet = {};
|
| + var j = 0;
|
| + for (var i = 0; i < propertyNames.length; ++i) {
|
| + var name = ToString(propertyNames[i]);
|
| + if (name in propertySet)
|
| + continue;
|
| + propertySet[name] = true;
|
| + propertyNames[j++] = name;
|
| + }
|
| + propertyNames.length = j;
|
|
|
| return propertyNames;
|
| }
|
|
|