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 6125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6136 // Cache format: | 6136 // Cache format: |
6137 // 0: finger - index of the first free cell in the cache | 6137 // 0: finger - index of the first free cell in the cache |
6138 // 1: back pointer that overlaps with prototype transitions field. | 6138 // 1: back pointer that overlaps with prototype transitions field. |
6139 // 2 + 2 * i: prototype | 6139 // 2 + 2 * i: prototype |
6140 // 3 + 2 * i: target map | 6140 // 3 + 2 * i: target map |
6141 inline FixedArray* GetPrototypeTransitions(); | 6141 inline FixedArray* GetPrototypeTransitions(); |
6142 MUST_USE_RESULT inline MaybeObject* SetPrototypeTransitions( | 6142 MUST_USE_RESULT inline MaybeObject* SetPrototypeTransitions( |
6143 FixedArray* prototype_transitions); | 6143 FixedArray* prototype_transitions); |
6144 inline bool HasPrototypeTransitions(); | 6144 inline bool HasPrototypeTransitions(); |
6145 | 6145 |
6146 inline HeapObject* UncheckedPrototypeTransitions(); | |
6147 inline TransitionArray* unchecked_transition_array(); | |
6148 | |
6149 static const int kProtoTransitionHeaderSize = 1; | 6146 static const int kProtoTransitionHeaderSize = 1; |
6150 static const int kProtoTransitionNumberOfEntriesOffset = 0; | 6147 static const int kProtoTransitionNumberOfEntriesOffset = 0; |
6151 static const int kProtoTransitionElementsPerEntry = 2; | 6148 static const int kProtoTransitionElementsPerEntry = 2; |
6152 static const int kProtoTransitionPrototypeOffset = 0; | 6149 static const int kProtoTransitionPrototypeOffset = 0; |
6153 static const int kProtoTransitionMapOffset = 1; | 6150 static const int kProtoTransitionMapOffset = 1; |
6154 | 6151 |
6155 inline int NumberOfProtoTransitions() { | 6152 inline int NumberOfProtoTransitions() { |
6156 FixedArray* cache = GetPrototypeTransitions(); | 6153 FixedArray* cache = GetPrototypeTransitions(); |
6157 if (cache->length() == 0) return 0; | 6154 if (cache->length() == 0) return 0; |
6158 return | 6155 return |
(...skipping 4682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10841 } else { | 10838 } else { |
10842 value &= ~(1 << bit_position); | 10839 value &= ~(1 << bit_position); |
10843 } | 10840 } |
10844 return value; | 10841 return value; |
10845 } | 10842 } |
10846 }; | 10843 }; |
10847 | 10844 |
10848 } } // namespace v8::internal | 10845 } } // namespace v8::internal |
10849 | 10846 |
10850 #endif // V8_OBJECTS_H_ | 10847 #endif // V8_OBJECTS_H_ |
OLD | NEW |