| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 135280125e1d52ca55182348fcf9da62178934a9..cd1b9a10af47d2b64efef4aefe79e0bb5c52157c 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -5898,23 +5898,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> CopyGeneralizeAllRepresentations(
|
| - Handle<Map> map,
|
| - int modify_index,
|
| - StoreMode store_mode,
|
| - PropertyAttributes attributes,
|
| - const char* reason);
|
| + 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,
|
| - 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,
|
| @@ -6142,8 +6134,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);
|
|
|
| @@ -6428,6 +6422,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);
|
| @@ -6461,6 +6458,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,
|
| @@ -6472,6 +6471,10 @@ class Map: public HeapObject {
|
| HeapType* old_field_type,
|
| HeapType* new_field_type);
|
|
|
| +#ifdef OBJECT_PRINT
|
| + void PrintPrototypeTransitions(std::ostream& os); // NOLINT
|
| +#endif
|
| +
|
| static inline void SetPrototypeTransitions(
|
| Handle<Map> map,
|
| Handle<FixedArray> prototype_transitions);
|
| @@ -10495,6 +10498,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());
|
| }
|
|
|