| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 10a9ed28416a8cc5edbc432ec8d5b2fcea3ea85d..1fd325fc4a3163bfc0a6f8770417d737e88655f2 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -1831,6 +1831,7 @@ class JSObject: public JSReceiver {
|
| Handle<HeapObject> user);
|
| static void UnregisterPrototypeUser(Handle<JSObject> prototype,
|
| Handle<HeapObject> user);
|
| + static void InvalidatePrototypeChains(Map* map);
|
|
|
| // Retrieve interceptors.
|
| InterceptorInfo* GetNamedInterceptor();
|
| @@ -5985,6 +5986,15 @@ class Map: public HeapObject {
|
| // (which prototype maps don't have).
|
| DECL_ACCESSORS(prototype_info, Object)
|
|
|
| + // [prototype chain validity cell]: Associated with a prototype object,
|
| + // stored in that object's map's PrototypeInfo, indicates that prototype
|
| + // chains through this object are currently valid. The cell will be
|
| + // invalidated and replaced when the prototype chain changes.
|
| + static Handle<Cell> GetOrCreatePrototypeChainValidityCell(Handle<Map> map,
|
| + Isolate* isolate);
|
| + static const int kPrototypeChainValid = 0;
|
| + static const int kPrototypeChainInvalid = 1;
|
| +
|
| Map* FindRootMap();
|
| Map* FindFieldOwner(int descriptor);
|
|
|
|
|