| Index: src/stub-cache.cc
|
| diff --git a/src/stub-cache.cc b/src/stub-cache.cc
|
| index 38f1960594e400960903ab4588d6c27e971c5d56..afb3f9951c76a49fd86803063e2942a2b1e1732f 100644
|
| --- a/src/stub-cache.cc
|
| +++ b/src/stub-cache.cc
|
| @@ -883,12 +883,10 @@ RUNTIME_FUNCTION(MaybeObject*, LoadPropertyWithInterceptorOnly) {
|
|
|
| static MaybeObject* ThrowReferenceError(Isolate* isolate, Name* name) {
|
| // If the load is non-contextual, just return the undefined result.
|
| - // Note that both keyed and non-keyed loads may end up here, so we
|
| - // can't use either LoadIC or KeyedLoadIC constructors.
|
| + // Note that both keyed and non-keyed loads may end up here.
|
| HandleScope scope(isolate);
|
| - IC ic(IC::NO_EXTRA_FRAME, isolate);
|
| - ASSERT(ic.IsLoadStub());
|
| - if (!ic.IsContextual()) {
|
| + LoadIC ic(IC::NO_EXTRA_FRAME, isolate);
|
| + if (ic.contextual_mode() != CONTEXTUAL) {
|
| return isolate->heap()->undefined_value();
|
| }
|
|
|
| @@ -1047,9 +1045,6 @@ Handle<Code> StubCompiler::CompileCallNormal(Code::Flags flags) {
|
| int argc = Code::ExtractArgumentsCountFromFlags(flags);
|
| Code::Kind kind = Code::ExtractKindFromFlags(flags);
|
| if (kind == Code::CALL_IC) {
|
| - // Call normal is always with a explict receiver.
|
| - ASSERT(!CallIC::Contextual::decode(
|
| - Code::ExtractExtraICStateFromFlags(flags)));
|
| CallIC::GenerateNormal(masm(), argc);
|
| } else {
|
| KeyedCallIC::GenerateNormal(masm(), argc);
|
| @@ -1105,7 +1100,7 @@ Handle<Code> StubCompiler::CompileLoadPreMonomorphic(Code::Flags flags) {
|
|
|
| Handle<Code> StubCompiler::CompileLoadMegamorphic(Code::Flags flags) {
|
| ExtraICState extra_state = Code::ExtractExtraICStateFromFlags(flags);
|
| - ContextualMode mode = IC::GetContextualMode(extra_state);
|
| + ContextualMode mode = LoadIC::GetContextualMode(extra_state);
|
| LoadIC::GenerateMegamorphic(masm(), mode);
|
| Handle<Code> code = GetCodeWithFlags(flags, "CompileLoadMegamorphic");
|
| PROFILE(isolate(),
|
|
|