Chromium Code Reviews| Index: src/runtime.cc |
| diff --git a/src/runtime.cc b/src/runtime.cc |
| index 140c3234e6bed870ad706b7a96ff8d5e99ed7d77..61ebc0ad55122767412e82aac5d6367e8986dc14 100644 |
| --- a/src/runtime.cc |
| +++ b/src/runtime.cc |
| @@ -10508,11 +10508,17 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GlobalPrint) { |
| // and are followed by non-existing element. Does not change the length |
| // property. |
| // Returns the number of non-undefined elements collected. |
| +// Returns -1 if hole removal is not supported by this method. |
| RUNTIME_FUNCTION(MaybeObject*, Runtime_RemoveArrayHoles) { |
| HandleScope scope(isolate); |
| ASSERT(args.length() == 2); |
| CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
| CONVERT_NUMBER_CHECKED(uint32_t, limit, Uint32, args[1]); |
| + if (object->HasFastArgumentsElements() || |
|
Michael Starzinger
2014/03/12 13:31:57
nit: Instead of putting this logic here, can we mo
|
| + object->HasDictionaryArgumentsElements() || |
|
Michael Starzinger
2014/03/12 13:31:57
nit: Better use object->HasNonStrictArgumentsEleme
|
| + object->map()->is_observed()) { |
| + return Smi::FromInt(-1); |
| + } |
| return *JSObject::PrepareElementsForSort(object, limit); |
| } |