Index: src/ic/ic.cc |
diff --git a/src/ic/ic.cc b/src/ic/ic.cc |
index 59db5bfc999735ddf6057de8269120db60529691..16377f897279a703fd0dc97eb30f7b01d2002fb1 100644 |
--- a/src/ic/ic.cc |
+++ b/src/ic/ic.cc |
@@ -209,38 +209,6 @@ Code* IC::GetOriginalCode() const { |
} |
-static void LookupForRead(LookupIterator* it) { |
- for (; it->IsFound(); it->Next()) { |
- switch (it->state()) { |
- case LookupIterator::NOT_FOUND: |
- case LookupIterator::TRANSITION: |
- UNREACHABLE(); |
- case LookupIterator::JSPROXY: |
- return; |
- case LookupIterator::INTERCEPTOR: { |
- // If there is a getter, return; otherwise loop to perform the lookup. |
- Handle<JSObject> holder = it->GetHolder<JSObject>(); |
- if (!holder->GetNamedInterceptor()->getter()->IsUndefined()) { |
- return; |
- } |
- break; |
- } |
- case LookupIterator::ACCESS_CHECK: |
- // PropertyHandlerCompiler::CheckPrototypes() knows how to emit |
- // access checks for global proxies. |
- if (it->GetHolder<JSObject>()->IsJSGlobalProxy() && |
- it->HasAccess(v8::ACCESS_GET)) { |
- break; |
- } |
- return; |
- case LookupIterator::PROPERTY: |
- if (it->HasProperty()) return; // Yay! |
- break; |
- } |
- } |
-} |
- |
- |
bool IC::TryRemoveInvalidPrototypeDependentStub(Handle<Object> receiver, |
Handle<String> name) { |
if (!IsNameCompatibleWithPrototypeFailure(name)) return false; |
@@ -604,7 +572,7 @@ MaybeHandle<Object> LoadIC::Load(Handle<Object> object, Handle<Name> name) { |
// Named lookup in the object. |
LookupIterator it(object, name); |
- LookupForRead(&it); |
+ it.LookupForRead(); |
if (it.IsFound() || !IsUndeclaredGlobal(object)) { |
// Update inline cache and stub cache. |
@@ -970,7 +938,7 @@ Handle<Code> LoadIC::CompileHandler(LookupIterator* lookup, |
// the original iterator will be used to fetch the value. |
LookupIterator it = *lookup; |
it.Next(); |
- LookupForRead(&it); |
+ it.LookupForRead(); |
return compiler.CompileLoadInterceptor(&it); |
} |