| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index f2b04f766884ff7dfb8ee8115b95a108a51fbe61..53bbce74c6d45cd8e8146d49a2c7243692ba5c7d 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -1808,4 +1808,25 @@ HValue* CodeStubGraphBuilder<VectorKeyedLoadStub>::BuildCodeStub() {
|
| Handle<Code> VectorKeyedLoadStub::GenerateCode() {
|
| return DoGenerateCode(this);
|
| }
|
| +
|
| +
|
| +Handle<Code> MegamorphicLoadStub::GenerateCode() {
|
| + return DoGenerateCode(this);
|
| +}
|
| +
|
| +
|
| +template <>
|
| +HValue* CodeStubGraphBuilder<MegamorphicLoadStub>::BuildCodeStub() {
|
| + // The return address is on the stack.
|
| + HValue* receiver = GetParameter(LoadDescriptor::kReceiverIndex);
|
| + HValue* name = GetParameter(LoadDescriptor::kNameIndex);
|
| +
|
| + // Probe the stub cache.
|
| + Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
|
| + Code::ComputeHandlerFlags(Code::LOAD_IC));
|
| + Add<HTailCallThroughMegamorphicCache>(receiver, name, flags);
|
| +
|
| + // We never continue.
|
| + return graph()->GetConstant0();
|
| +}
|
| } } // namespace v8::internal
|
|
|