| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 1e67f7fdccd4d7a8a2d0a6a0ced3120c80c85e15..d7d6e6717b7ce5a89be989a21d736d0392cd1f44 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -5889,23 +5889,15 @@ class Map: public HeapObject {
|
| static void GeneralizeFieldType(Handle<Map> map, int modify_index,
|
| Representation new_representation,
|
| Handle<HeapType> new_field_type);
|
| - static Handle<Map> GeneralizeRepresentation(
|
| - Handle<Map> map,
|
| - int modify_index,
|
| - Representation new_representation,
|
| - Handle<HeapType> new_field_type,
|
| - StoreMode store_mode);
|
| + static Handle<Map> ReconfigureProperty(Handle<Map> map, int modify_index,
|
| + PropertyKind new_kind,
|
| + PropertyAttributes new_attributes,
|
| + Representation new_representation,
|
| + Handle<HeapType> new_field_type,
|
| + StoreMode store_mode);
|
| static Handle<Map> CopyGeneralizeAllRepresentations(
|
| - Handle<Map> map,
|
| - int modify_index,
|
| - StoreMode store_mode,
|
| - PropertyAttributes attributes,
|
| - const char* reason);
|
| - static Handle<Map> CopyGeneralizeAllRepresentations(
|
| - Handle<Map> map,
|
| - int modify_index,
|
| - StoreMode store_mode,
|
| - const char* reason);
|
| + Handle<Map> map, int modify_index, StoreMode store_mode,
|
| + PropertyKind kind, PropertyAttributes attributes, const char* reason);
|
|
|
| static Handle<Map> PrepareForDataProperty(Handle<Map> old_map,
|
| int descriptor_number,
|
| @@ -6128,8 +6120,10 @@ class Map: public HeapObject {
|
| static Handle<Map> TransitionToAccessorProperty(
|
| Handle<Map> map, Handle<Name> name, AccessorComponent component,
|
| Handle<Object> accessor, PropertyAttributes attributes);
|
| - static Handle<Map> ReconfigureDataProperty(Handle<Map> map, int descriptor,
|
| - PropertyAttributes attributes);
|
| + static Handle<Map> ReconfigureExistingProperty(Handle<Map> map,
|
| + int descriptor,
|
| + PropertyKind kind,
|
| + PropertyAttributes attributes);
|
|
|
| inline void AppendDescriptor(Descriptor* desc);
|
|
|
| @@ -6414,6 +6408,9 @@ class Map: public HeapObject {
|
| Descriptor* descriptor,
|
| int index,
|
| TransitionFlag flag);
|
| + static MUST_USE_RESULT MaybeHandle<Map> TryReconfigureExistingProperty(
|
| + Handle<Map> map, int descriptor, PropertyKind kind,
|
| + PropertyAttributes attributes, const char** reason);
|
|
|
| static Handle<Map> CopyNormalized(Handle<Map> map,
|
| PropertyNormalizationMode mode);
|
| @@ -6447,6 +6444,8 @@ class Map: public HeapObject {
|
| Representation new_representation,
|
| Handle<HeapType> new_type);
|
|
|
| + void PrintReconfiguration(FILE* file, int modify_index, PropertyKind kind,
|
| + PropertyAttributes attributes);
|
| void PrintGeneralization(FILE* file,
|
| const char* reason,
|
| int modify_index,
|
| @@ -10506,6 +10505,14 @@ class AccessorPair: public Struct {
|
| if (!setter->IsNull()) set_setter(setter);
|
| }
|
|
|
| + bool Equals(AccessorPair* pair) {
|
| + return (this == pair) || pair->Equals(getter(), setter());
|
| + }
|
| +
|
| + bool Equals(Object* getter_value, Object* setter_value) {
|
| + return (getter() == getter_value) && (setter() == setter_value);
|
| + }
|
| +
|
| bool ContainsAccessor() {
|
| return IsJSAccessor(getter()) || IsJSAccessor(setter());
|
| }
|
|
|