| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index 65bf423ea200c1fea83444ecd65ccd3adaf11364..71a6b4a92a796f81ba3c78c4174e2dfc793b1ebf 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -344,63 +344,6 @@ Handle<Code> NumberToStringStub::GenerateCode() {
|
|
|
|
|
| template <>
|
| -HValue* CodeStubGraphBuilder<FastCloneRegExpStub>::BuildCodeStub() {
|
| - HValue* closure = GetParameter(Descriptor::kClosure);
|
| - HValue* literal_index = GetParameter(Descriptor::kLiteralIndex);
|
| -
|
| - // This stub is very performance sensitive, the generated code must be tuned
|
| - // so that it doesn't build and eager frame.
|
| - info()->MarkMustNotHaveEagerFrame();
|
| -
|
| - HValue* literals_array = Add<HLoadNamedField>(
|
| - closure, nullptr, HObjectAccess::ForLiteralsPointer());
|
| - HInstruction* boilerplate = Add<HLoadKeyed>(
|
| - literals_array, literal_index, nullptr, nullptr, FAST_ELEMENTS,
|
| - NEVER_RETURN_HOLE, LiteralsArray::kOffsetToFirstLiteral - kHeapObjectTag);
|
| -
|
| - IfBuilder if_notundefined(this);
|
| - if_notundefined.IfNot<HCompareObjectEqAndBranch>(
|
| - boilerplate, graph()->GetConstantUndefined());
|
| - if_notundefined.Then();
|
| - {
|
| - int result_size =
|
| - JSRegExp::kSize + JSRegExp::kInObjectFieldCount * kPointerSize;
|
| - HValue* result =
|
| - Add<HAllocate>(Add<HConstant>(result_size), HType::JSObject(),
|
| - NOT_TENURED, JS_REGEXP_TYPE, graph()->GetConstant0());
|
| - Add<HStoreNamedField>(
|
| - result, HObjectAccess::ForMap(),
|
| - Add<HLoadNamedField>(boilerplate, nullptr, HObjectAccess::ForMap()));
|
| - Add<HStoreNamedField>(
|
| - result, HObjectAccess::ForPropertiesPointer(),
|
| - Add<HLoadNamedField>(boilerplate, nullptr,
|
| - HObjectAccess::ForPropertiesPointer()));
|
| - Add<HStoreNamedField>(
|
| - result, HObjectAccess::ForElementsPointer(),
|
| - Add<HLoadNamedField>(boilerplate, nullptr,
|
| - HObjectAccess::ForElementsPointer()));
|
| - for (int offset = JSObject::kHeaderSize; offset < result_size;
|
| - offset += kPointerSize) {
|
| - HObjectAccess access = HObjectAccess::ForObservableJSObjectOffset(offset);
|
| - Add<HStoreNamedField>(result, access,
|
| - Add<HLoadNamedField>(boilerplate, nullptr, access));
|
| - }
|
| - Push(result);
|
| - }
|
| - if_notundefined.ElseDeopt(
|
| - DeoptimizeReason::kUninitializedBoilerplateInFastClone);
|
| - if_notundefined.End();
|
| -
|
| - return Pop();
|
| -}
|
| -
|
| -
|
| -Handle<Code> FastCloneRegExpStub::GenerateCode() {
|
| - return DoGenerateCode(this);
|
| -}
|
| -
|
| -
|
| -template <>
|
| HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() {
|
| Factory* factory = isolate()->factory();
|
| HValue* undefined = graph()->GetConstantUndefined();
|
|
|