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(), |