| Index: src/ic/ic-compiler.cc
|
| diff --git a/src/ic/ic-compiler.cc b/src/ic/ic-compiler.cc
|
| index f69a1f43a344f93ddd47dd2b9a06cd4b5d03dc3f..827f9dc96242ebcbb5d1b18d57eb4a81fc8f58e3 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();
|
| }
|
| @@ -339,6 +341,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");
|
|
|