| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index 22fabbe5b56f1ee2f9f281685311bc1edbe0a0e5..2972a2c96848525d3ceb9cc117b547bb29030ede 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -1812,4 +1812,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
|
|
|