| OLD | NEW | 
|     1 // Copyright 2012 the V8 project authors. All rights reserved. |     1 // Copyright 2012 the V8 project authors. All rights reserved. | 
|     2 // Redistribution and use in source and binary forms, with or without |     2 // Redistribution and use in source and binary forms, with or without | 
|     3 // modification, are permitted provided that the following conditions are |     3 // modification, are permitted provided that the following conditions are | 
|     4 // met: |     4 // met: | 
|     5 // |     5 // | 
|     6 //     * Redistributions of source code must retain the above copyright |     6 //     * Redistributions of source code must retain the above copyright | 
|     7 //       notice, this list of conditions and the following disclaimer. |     7 //       notice, this list of conditions and the following disclaimer. | 
|     8 //     * Redistributions in binary form must reproduce the above |     8 //     * Redistributions in binary form must reproduce the above | 
|     9 //       copyright notice, this list of conditions and the following |     9 //       copyright notice, this list of conditions and the following | 
|    10 //       disclaimer in the documentation and/or other materials provided |    10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 6838 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6849   DISALLOW_IMPLICIT_CONSTRUCTORS(PolymorphicCodeCacheHashTable); |  6849   DISALLOW_IMPLICIT_CONSTRUCTORS(PolymorphicCodeCacheHashTable); | 
|  6850 }; |  6850 }; | 
|  6851  |  6851  | 
|  6852  |  6852  | 
|  6853 class TypeFeedbackInfo: public Struct { |  6853 class TypeFeedbackInfo: public Struct { | 
|  6854  public: |  6854  public: | 
|  6855   inline int ic_total_count(); |  6855   inline int ic_total_count(); | 
|  6856   inline void set_ic_total_count(int count); |  6856   inline void set_ic_total_count(int count); | 
|  6857  |  6857  | 
|  6858   inline int ic_with_type_info_count(); |  6858   inline int ic_with_type_info_count(); | 
|  6859   inline void set_ic_with_type_info_count(int count); |  6859   inline void change_ic_with_type_info_count(int count); | 
 |  6860  | 
 |  6861   inline void initialize_storage(); | 
 |  6862  | 
 |  6863   inline void change_own_type_change_checksum(); | 
 |  6864   inline int own_type_change_checksum(); | 
 |  6865  | 
 |  6866   inline void set_inlined_type_change_checksum(int checksum); | 
 |  6867   inline bool matches_inlined_type_change_checksum(int checksum); | 
|  6860  |  6868  | 
|  6861   DECL_ACCESSORS(type_feedback_cells, TypeFeedbackCells) |  6869   DECL_ACCESSORS(type_feedback_cells, TypeFeedbackCells) | 
|  6862  |  6870  | 
|  6863   static inline TypeFeedbackInfo* cast(Object* obj); |  6871   static inline TypeFeedbackInfo* cast(Object* obj); | 
|  6864  |  6872  | 
|  6865 #ifdef OBJECT_PRINT |  6873 #ifdef OBJECT_PRINT | 
|  6866   inline void TypeFeedbackInfoPrint() { |  6874   inline void TypeFeedbackInfoPrint() { | 
|  6867     TypeFeedbackInfoPrint(stdout); |  6875     TypeFeedbackInfoPrint(stdout); | 
|  6868   } |  6876   } | 
|  6869   void TypeFeedbackInfoPrint(FILE* out); |  6877   void TypeFeedbackInfoPrint(FILE* out); | 
|  6870 #endif |  6878 #endif | 
|  6871 #ifdef DEBUG |  6879 #ifdef DEBUG | 
|  6872   void TypeFeedbackInfoVerify(); |  6880   void TypeFeedbackInfoVerify(); | 
|  6873 #endif |  6881 #endif | 
|  6874  |  6882  | 
|  6875   static const int kIcTotalCountOffset = HeapObject::kHeaderSize; |  6883   static const int kStorage1Offset = HeapObject::kHeaderSize; | 
|  6876   static const int kIcWithTypeinfoCountOffset = |  6884   static const int kStorage2Offset = kStorage1Offset + kPointerSize; | 
|  6877       kIcTotalCountOffset + kPointerSize; |  6885   static const int kTypeFeedbackCellsOffset = kStorage2Offset + kPointerSize; | 
|  6878   static const int kTypeFeedbackCellsOffset = |  | 
|  6879       kIcWithTypeinfoCountOffset + kPointerSize; |  | 
|  6880   static const int kSize = kTypeFeedbackCellsOffset + kPointerSize; |  6886   static const int kSize = kTypeFeedbackCellsOffset + kPointerSize; | 
|  6881  |  6887  | 
|  6882  private: |  6888  private: | 
 |  6889   static const int kTypeChangeChecksumBits = 7; | 
 |  6890  | 
 |  6891   class ICTotalCountField: public BitField<int, 0, | 
 |  6892       kSmiValueSize - kTypeChangeChecksumBits> {};  // NOLINT | 
 |  6893   class OwnTypeChangeChecksum: public BitField<int, | 
 |  6894       kSmiValueSize - kTypeChangeChecksumBits, | 
 |  6895       kTypeChangeChecksumBits> {};  // NOLINT | 
 |  6896   class ICsWithTypeInfoCountField: public BitField<int, 0, | 
 |  6897       kSmiValueSize - kTypeChangeChecksumBits> {};  // NOLINT | 
 |  6898   class InlinedTypeChangeChecksum: public BitField<int, | 
 |  6899       kSmiValueSize - kTypeChangeChecksumBits, | 
 |  6900       kTypeChangeChecksumBits> {};  // NOLINT | 
 |  6901  | 
|  6883   DISALLOW_IMPLICIT_CONSTRUCTORS(TypeFeedbackInfo); |  6902   DISALLOW_IMPLICIT_CONSTRUCTORS(TypeFeedbackInfo); | 
|  6884 }; |  6903 }; | 
|  6885  |  6904  | 
|  6886  |  6905  | 
|  6887 // Representation of a slow alias as part of a non-strict arguments objects. |  6906 // Representation of a slow alias as part of a non-strict arguments objects. | 
|  6888 // For fast aliases (if HasNonStrictArgumentsElements()): |  6907 // For fast aliases (if HasNonStrictArgumentsElements()): | 
|  6889 // - the parameter map contains an index into the context |  6908 // - the parameter map contains an index into the context | 
|  6890 // - all attributes of the element have default values |  6909 // - all attributes of the element have default values | 
|  6891 // For slow aliases (if HasDictionaryArgumentsElements()): |  6910 // For slow aliases (if HasDictionaryArgumentsElements()): | 
|  6892 // - the parameter map contains no fast alias mapping (i.e. the hole) |  6911 // - the parameter map contains no fast alias mapping (i.e. the hole) | 
| (...skipping 2022 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  8915     } else { |  8934     } else { | 
|  8916       value &= ~(1 << bit_position); |  8935       value &= ~(1 << bit_position); | 
|  8917     } |  8936     } | 
|  8918     return value; |  8937     return value; | 
|  8919   } |  8938   } | 
|  8920 }; |  8939 }; | 
|  8921  |  8940  | 
|  8922 } }  // namespace v8::internal |  8941 } }  // namespace v8::internal | 
|  8923  |  8942  | 
|  8924 #endif  // V8_OBJECTS_H_ |  8943 #endif  // V8_OBJECTS_H_ | 
| OLD | NEW |