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()); |
} |