| Index: src/ic/ic.cc
|
| diff --git a/src/ic/ic.cc b/src/ic/ic.cc
|
| index 4a39df586a9780984b11f1b53568d771c8a5fa89..3e52b05899648009fb68f1b9f0b1d0c619185088 100644
|
| --- a/src/ic/ic.cc
|
| +++ b/src/ic/ic.cc
|
| @@ -1251,7 +1251,7 @@ Handle<Code> LoadIC::CompileHandler(LookupIterator* lookup,
|
| }
|
|
|
| // -------------- Fields --------------
|
| - if (lookup->property_details().type() == FIELD) {
|
| + if (lookup->property_details().type() == DATA) {
|
| FieldIndex field = lookup->GetFieldIndex();
|
| if (receiver_is_holder) {
|
| return SimpleFieldLoad(field);
|
| @@ -1262,7 +1262,7 @@ Handle<Code> LoadIC::CompileHandler(LookupIterator* lookup,
|
| }
|
|
|
| // -------------- Constant properties --------------
|
| - DCHECK(lookup->property_details().type() == CONSTANT);
|
| + DCHECK(lookup->property_details().type() == DATA_CONSTANT);
|
| if (receiver_is_holder) {
|
| LoadConstantStub stub(isolate(), lookup->GetConstantIndex());
|
| return stub.GetCode();
|
| @@ -1751,7 +1751,7 @@ Handle<Code> StoreIC::CompileHandler(LookupIterator* lookup,
|
| }
|
|
|
| // -------------- Fields --------------
|
| - if (lookup->property_details().type() == FIELD) {
|
| + if (lookup->property_details().type() == DATA) {
|
| bool use_stub = true;
|
| if (lookup->representation().IsHeapObject()) {
|
| // Only use a generic stub if no types need to be tracked.
|
| @@ -1769,7 +1769,7 @@ Handle<Code> StoreIC::CompileHandler(LookupIterator* lookup,
|
| }
|
|
|
| // -------------- Constant properties --------------
|
| - DCHECK(lookup->property_details().type() == CONSTANT);
|
| + DCHECK(lookup->property_details().type() == DATA_CONSTANT);
|
| TRACE_GENERIC_IC(isolate(), "StoreIC", "constant property");
|
| break;
|
| }
|
| @@ -1785,7 +1785,8 @@ Handle<Code> StoreIC::CompileHandler(LookupIterator* lookup,
|
|
|
| Handle<Code> KeyedStoreIC::StoreElementStub(Handle<JSObject> receiver,
|
| KeyedAccessStoreMode store_mode) {
|
| - // Don't handle megamorphic property accesses for INTERCEPTORS or CALLBACKS
|
| + // Don't handle megamorphic property accesses for INTERCEPTORS or
|
| + // ACCESSOR_CONSTANT
|
| // via megamorphic stubs, since they don't have a map in their relocation info
|
| // and so the stubs can't be harvested for the object needed for a map check.
|
| if (target()->type() != Code::NORMAL) {
|
|
|