| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index fc1a0232295a73e8b50dc1eea178a9034d9e8b48..dbfec5dd337ad9969e7225e4ede70543d0ef212b 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -1424,66 +1424,6 @@ static MaybeObject* Runtime_RegExpConstructResult(Arguments args) {
|
| }
|
|
|
|
|
| -static MaybeObject* Runtime_RegExpCloneResult(Arguments args) {
|
| - ASSERT(args.length() == 1);
|
| - Map* regexp_result_map;
|
| - {
|
| - AssertNoAllocation no_gc;
|
| - HandleScope handles;
|
| - regexp_result_map = Top::global_context()->regexp_result_map();
|
| - }
|
| - if (!args[0]->IsJSArray()) return args[0];
|
| -
|
| - JSArray* result = JSArray::cast(args[0]);
|
| - // Arguments to RegExpCloneResult should always be fresh RegExp exec call
|
| - // results (either a fresh JSRegExpResult or null).
|
| - // If the argument is not a JSRegExpResult, or isn't unmodified, just return
|
| - // the argument uncloned.
|
| - if (result->map() != regexp_result_map) return result;
|
| -
|
| - // Having the original JSRegExpResult map guarantees that we have
|
| - // fast elements and no properties except the two in-object properties.
|
| - ASSERT(result->HasFastElements());
|
| - ASSERT(result->properties() == Heap::empty_fixed_array());
|
| - ASSERT_EQ(2, regexp_result_map->inobject_properties());
|
| -
|
| - Object* new_array_alloc;
|
| - { MaybeObject* maybe_new_array_alloc =
|
| - Heap::AllocateRaw(JSRegExpResult::kSize, NEW_SPACE, OLD_POINTER_SPACE);
|
| - if (!maybe_new_array_alloc->ToObject(&new_array_alloc)) {
|
| - return maybe_new_array_alloc;
|
| - }
|
| - }
|
| -
|
| - // Set HeapObject map to JSRegExpResult map.
|
| - reinterpret_cast<HeapObject*>(new_array_alloc)->set_map(regexp_result_map);
|
| -
|
| - JSArray* new_array = JSArray::cast(new_array_alloc);
|
| -
|
| - // Copy JSObject properties.
|
| - new_array->set_properties(result->properties()); // Empty FixedArray.
|
| -
|
| - // Copy JSObject elements as copy-on-write.
|
| - FixedArray* elements = FixedArray::cast(result->elements());
|
| - if (elements != Heap::empty_fixed_array()) {
|
| - elements->set_map(Heap::fixed_cow_array_map());
|
| - }
|
| - new_array->set_elements(elements);
|
| -
|
| - // Copy JSArray length.
|
| - new_array->set_length(result->length());
|
| -
|
| - // Copy JSRegExpResult in-object property fields input and index.
|
| - new_array->FastPropertyAtPut(JSRegExpResult::kIndexIndex,
|
| - result->FastPropertyAt(
|
| - JSRegExpResult::kIndexIndex));
|
| - new_array->FastPropertyAtPut(JSRegExpResult::kInputIndex,
|
| - result->FastPropertyAt(
|
| - JSRegExpResult::kInputIndex));
|
| - return new_array;
|
| -}
|
| -
|
| -
|
| static MaybeObject* Runtime_RegExpInitializeObject(Arguments args) {
|
| AssertNoAllocation no_alloc;
|
| ASSERT(args.length() == 5);
|
|
|