| Index: src/ic/ic-compiler.cc
|
| diff --git a/src/ic/ic-compiler.cc b/src/ic/ic-compiler.cc
|
| index 42b5e753bed21f9062fda382463e036908496eb3..f597083e631be5e9aa49adcab9dbcf58a0225581 100644
|
| --- a/src/ic/ic-compiler.cc
|
| +++ b/src/ic/ic-compiler.cc
|
| @@ -197,6 +197,8 @@ Handle<Code> PropertyICCompiler::ComputeLoad(Isolate* isolate,
|
| code = compiler.CompileLoadInitialize(flags);
|
| } else if (ic_state == PREMONOMORPHIC) {
|
| code = compiler.CompileLoadPreMonomorphic(flags);
|
| + } else if (ic_state == MEGAMORPHIC) {
|
| + code = compiler.CompileLoadMegamorphic(flags);
|
| } else {
|
| UNREACHABLE();
|
| }
|
| @@ -334,6 +336,14 @@ Handle<Code> PropertyICCompiler::CompileLoadPreMonomorphic(Code::Flags flags) {
|
| }
|
|
|
|
|
| +Handle<Code> PropertyICCompiler::CompileLoadMegamorphic(Code::Flags flags) {
|
| + MegamorphicLoadStub stub(isolate(), LoadICState(extra_ic_state_));
|
| + auto code = stub.GetCode();
|
| + PROFILE(isolate(), CodeCreateEvent(Logger::LOAD_MEGAMORPHIC_TAG, *code, 0));
|
| + return code;
|
| +}
|
| +
|
| +
|
| Handle<Code> PropertyICCompiler::CompileStoreInitialize(Code::Flags flags) {
|
| StoreIC::GenerateInitialize(masm());
|
| Handle<Code> code = GetCodeWithFlags(flags, "CompileStoreInitialize");
|
|
|