Index: src/handles.cc |
=================================================================== |
--- src/handles.cc (revision 1718) |
+++ src/handles.cc (working copy) |
@@ -491,17 +491,6 @@ |
break; |
} |
- // Compute the property keys. |
- content = UnionOfKeys(content, GetEnumPropertyKeys(current)); |
- |
- // Add the property keys from the interceptor. |
- if (current->HasNamedInterceptor()) { |
- v8::Handle<v8::Array> result = |
- GetKeysForNamedInterceptor(object, current); |
- if (!result.IsEmpty()) |
- content = AddKeysFromJSArray(content, v8::Utils::OpenHandle(*result)); |
- } |
- |
// Compute the element keys. |
Handle<FixedArray> element_keys = |
Factory::NewFixedArray(current->NumberOfEnumElements()); |
@@ -515,6 +504,17 @@ |
if (!result.IsEmpty()) |
content = AddKeysFromJSArray(content, v8::Utils::OpenHandle(*result)); |
} |
+ |
+ // Compute the property keys. |
+ content = UnionOfKeys(content, GetEnumPropertyKeys(current)); |
+ |
+ // Add the property keys from the interceptor. |
+ if (current->HasNamedInterceptor()) { |
+ v8::Handle<v8::Array> result = |
+ GetKeysForNamedInterceptor(object, current); |
+ if (!result.IsEmpty()) |
+ content = AddKeysFromJSArray(content, v8::Utils::OpenHandle(*result)); |
+ } |
} |
} |
return content; |
@@ -549,7 +549,7 @@ |
index++; |
} |
} |
- (*storage)->SortPairs(*sort_array); |
+ (*storage)->SortPairs(*sort_array, sort_array->length()); |
Handle<FixedArray> bridge_storage = |
Factory::NewFixedArray(DescriptorArray::kEnumCacheBridgeLength); |
DescriptorArray* desc = object->map()->instance_descriptors(); |