| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 4fe899fe5f825e9cd97e0fa5e8f050a0eb58b2b8..7dc440862ba102b4bd75282cb3b7bb1bdea5c030 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -840,6 +840,7 @@ class KeyAccumulator;
|
| class LayoutDescriptor;
|
| class LiteralsArray;
|
| class LookupIterator;
|
| +class FieldType;
|
| class ObjectHashTable;
|
| class ObjectVisitor;
|
| class PropertyCell;
|
| @@ -852,11 +853,6 @@ class TypeFeedbackVector;
|
| class WeakCell;
|
| class TransitionArray;
|
|
|
| -// We cannot just say "class HeapType;" if it is created from a template... =8-?
|
| -template<class> class TypeImpl;
|
| -struct HeapTypeConfig;
|
| -typedef TypeImpl<HeapTypeConfig> HeapType;
|
| -
|
|
|
| // A template-ized version of the IsXXX functions.
|
| template <class C> inline bool Is(Object* obj);
|
| @@ -1098,7 +1094,8 @@ class Object {
|
|
|
| inline bool FilterKey(PropertyFilter filter);
|
|
|
| - Handle<HeapType> OptimalType(Isolate* isolate, Representation representation);
|
| + Handle<FieldType> OptimalType(Isolate* isolate,
|
| + Representation representation);
|
|
|
| inline static Handle<Object> NewStorageFor(Isolate* isolate,
|
| Handle<Object> object,
|
| @@ -2917,7 +2914,7 @@ class DescriptorArray: public FixedArray {
|
| inline PropertyDetails GetDetails(int descriptor_number);
|
| inline PropertyType GetType(int descriptor_number);
|
| inline int GetFieldIndex(int descriptor_number);
|
| - inline HeapType* GetFieldType(int descriptor_number);
|
| + inline FieldType* GetFieldType(int descriptor_number);
|
| inline Object* GetConstant(int descriptor_number);
|
| inline Object* GetCallbacksObject(int descriptor_number);
|
| inline AccessorDescriptor* GetCallbacks(int descriptor_number);
|
| @@ -5708,17 +5705,17 @@ class Map: public HeapObject {
|
| int* old_number_of_fields);
|
| // TODO(ishell): moveit!
|
| static Handle<Map> GeneralizeAllFieldRepresentations(Handle<Map> map);
|
| - MUST_USE_RESULT static Handle<HeapType> GeneralizeFieldType(
|
| - Representation rep1, Handle<HeapType> type1, Representation rep2,
|
| - Handle<HeapType> type2, Isolate* isolate);
|
| + MUST_USE_RESULT static Handle<FieldType> GeneralizeFieldType(
|
| + Representation rep1, Handle<FieldType> type1, Representation rep2,
|
| + Handle<FieldType> type2, Isolate* isolate);
|
| static void GeneralizeFieldType(Handle<Map> map, int modify_index,
|
| Representation new_representation,
|
| - Handle<HeapType> new_field_type);
|
| + Handle<FieldType> new_field_type);
|
| static Handle<Map> ReconfigureProperty(Handle<Map> map, int modify_index,
|
| PropertyKind new_kind,
|
| PropertyAttributes new_attributes,
|
| Representation new_representation,
|
| - Handle<HeapType> new_field_type,
|
| + Handle<FieldType> new_field_type,
|
| StoreMode store_mode);
|
| static Handle<Map> CopyGeneralizeAllRepresentations(
|
| Handle<Map> map, int modify_index, StoreMode store_mode,
|
| @@ -5840,11 +5837,8 @@ class Map: public HeapObject {
|
| TransitionFlag flag);
|
|
|
| MUST_USE_RESULT static MaybeHandle<Map> CopyWithField(
|
| - Handle<Map> map,
|
| - Handle<Name> name,
|
| - Handle<HeapType> type,
|
| - PropertyAttributes attributes,
|
| - Representation representation,
|
| + Handle<Map> map, Handle<Name> name, Handle<FieldType> type,
|
| + PropertyAttributes attributes, Representation representation,
|
| TransitionFlag flag);
|
|
|
| MUST_USE_RESULT static MaybeHandle<Map> CopyWithConstant(
|
| @@ -6178,16 +6172,14 @@ class Map: public HeapObject {
|
|
|
| void PrintReconfiguration(FILE* file, int modify_index, PropertyKind kind,
|
| PropertyAttributes attributes);
|
| - void PrintGeneralization(FILE* file,
|
| - const char* reason,
|
| - int modify_index,
|
| - int split,
|
| - int descriptors,
|
| - bool constant_to_field,
|
| + void PrintGeneralization(FILE* file, const char* reason, int modify_index,
|
| + int split, int descriptors, bool constant_to_field,
|
| Representation old_representation,
|
| Representation new_representation,
|
| - HeapType* old_field_type,
|
| - HeapType* new_field_type);
|
| + MaybeHandle<FieldType> old_field_type,
|
| + MaybeHandle<Object> old_value,
|
| + MaybeHandle<FieldType> new_field_type,
|
| + MaybeHandle<Object> new_value);
|
|
|
| static const int kFastPropertiesSoftLimit = 12;
|
| static const int kMaxFastProperties = 128;
|
|
|