| Index: src/ic/handler-compiler.cc
|
| diff --git a/src/ic/handler-compiler.cc b/src/ic/handler-compiler.cc
|
| index 77d6efe122a7e8a1f47c9e03784237bbeb9464f3..16aec0b4941ff27de1fed40b8b071b9159255db4 100644
|
| --- a/src/ic/handler-compiler.cc
|
| +++ b/src/ic/handler-compiler.cc
|
| @@ -163,10 +163,13 @@ Handle<Code> NamedLoadHandlerCompiler::CompileLoadInterceptor(
|
| case LookupIterator::NOT_FOUND:
|
| case LookupIterator::INTEGER_INDEXED_EXOTIC:
|
| break;
|
| - case LookupIterator::DATA:
|
| - inline_followup =
|
| - it->property_details().type() == DATA && !it->is_dictionary_holder();
|
| + case LookupIterator::DATA: {
|
| + PropertyDetails details = it->property_details();
|
| + inline_followup = details.kind() == kData &&
|
| + details.location() == kField &&
|
| + !it->is_dictionary_holder();
|
| break;
|
| + }
|
| case LookupIterator::ACCESSOR: {
|
| Handle<Object> accessors = it->GetAccessors();
|
| if (accessors->IsAccessorInfo()) {
|
| @@ -274,7 +277,8 @@ void NamedLoadHandlerCompiler::GenerateLoadPostInterceptor(
|
| case LookupIterator::TRANSITION:
|
| UNREACHABLE();
|
| case LookupIterator::DATA: {
|
| - DCHECK_EQ(DATA, it->property_details().type());
|
| + DCHECK_EQ(kData, it->property_details().kind());
|
| + DCHECK_EQ(kField, it->property_details().location());
|
| __ Move(LoadFieldDescriptor::ReceiverRegister(), reg);
|
| Handle<Object> smi_handler =
|
| LoadIC::SimpleFieldLoad(isolate(), it->GetFieldIndex());
|
|
|