| Index: src/ic/ic.h
|
| diff --git a/src/ic/ic.h b/src/ic/ic.h
|
| index 00c4ee183d9d787f8ddb918b301ff14fbfe667aa..39036c42d6b0e9d86b474d1b6074cb11edd7f08b 100644
|
| --- a/src/ic/ic.h
|
| +++ b/src/ic/ic.h
|
| @@ -311,22 +311,28 @@ class LoadIC : public IC {
|
| CacheHolderFlag cache_holder) override;
|
|
|
| private:
|
| + // Creates a data handler that represents a load of a field by given index.
|
| Handle<Object> SimpleFieldLoad(FieldIndex index);
|
|
|
| // Returns 0 if the validity cell check is enough to ensure that the
|
| // prototype chain from |receiver_map| till |holder| did not change.
|
| + // If the |holder| is an empty handle then the full prototype chain is
|
| + // checked.
|
| // Returns -1 if the handler has to be compiled or the number of prototype
|
| // checks otherwise.
|
| int GetPrototypeCheckCount(Handle<Map> receiver_map, Handle<JSObject> holder);
|
|
|
| // Creates a data handler that represents a prototype chain check followed
|
| // by given Smi-handler that encoded a load from the holder.
|
| - // Can be used only if IsPrototypeValidityCellCheckEnough() predicate is true.
|
| + // Can be used only if GetPrototypeCheckCount() returns non negative value.
|
| Handle<Object> SimpleLoadFromPrototype(Handle<Map> receiver_map,
|
| Handle<JSObject> holder,
|
| Handle<Name> name,
|
| Handle<Object> smi_handler);
|
|
|
| + // Creates a data handler that represents a load of a non-existent property.
|
| + Handle<Object> SimpleLoadNonExistent(Handle<Map> receiver_map,
|
| + Handle<Name> name);
|
| friend class IC;
|
| };
|
|
|
|
|