| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 5724 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5735 // deoptimized when the map is garbage collected. | 5735 // deoptimized when the map is garbage collected. |
| 5736 kWeakCodeGroup, | 5736 kWeakCodeGroup, |
| 5737 // Group of code that embed a transition to this map, and depend on being | 5737 // Group of code that embed a transition to this map, and depend on being |
| 5738 // deoptimized when the transition is replaced by a new version. | 5738 // deoptimized when the transition is replaced by a new version. |
| 5739 kTransitionGroup, | 5739 kTransitionGroup, |
| 5740 // Group of code that omit run-time prototype checks for prototypes | 5740 // Group of code that omit run-time prototype checks for prototypes |
| 5741 // described by this map. The group is deoptimized whenever an object | 5741 // described by this map. The group is deoptimized whenever an object |
| 5742 // described by this map changes shape (and transitions to a new map), | 5742 // described by this map changes shape (and transitions to a new map), |
| 5743 // possibly invalidating the assumptions embedded in the code. | 5743 // possibly invalidating the assumptions embedded in the code. |
| 5744 kPrototypeCheckGroup, | 5744 kPrototypeCheckGroup, |
| 5745 // Group of code that depends on elements not being added to objects with | |
| 5746 // this map. | |
| 5747 kElementsCantBeAddedGroup, | |
| 5748 // Group of code that depends on global property values in property cells | 5745 // Group of code that depends on global property values in property cells |
| 5749 // not being changed. | 5746 // not being changed. |
| 5750 kPropertyCellChangedGroup, | 5747 kPropertyCellChangedGroup, |
| 5751 // Group of code that omit run-time type checks for the field(s) introduced | 5748 // Group of code that omit run-time type checks for the field(s) introduced |
| 5752 // by this map. | 5749 // by this map. |
| 5753 kFieldTypeGroup, | 5750 kFieldTypeGroup, |
| 5754 // Group of code that omit run-time type checks for initial maps of | 5751 // Group of code that omit run-time type checks for initial maps of |
| 5755 // constructors. | 5752 // constructors. |
| 5756 kInitialMapChangedGroup, | 5753 kInitialMapChangedGroup, |
| 5757 // Group of code that depends on tenuring information in AllocationSites | 5754 // Group of code that depends on tenuring information in AllocationSites |
| (...skipping 4064 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9822 static PropertyCellType UpdatedType(Handle<PropertyCell> cell, | 9819 static PropertyCellType UpdatedType(Handle<PropertyCell> cell, |
| 9823 Handle<Object> value, | 9820 Handle<Object> value, |
| 9824 PropertyDetails details); | 9821 PropertyDetails details); |
| 9825 static Handle<Object> UpdateCell(Handle<NameDictionary> dictionary, int entry, | 9822 static Handle<Object> UpdateCell(Handle<NameDictionary> dictionary, int entry, |
| 9826 Handle<Object> value, | 9823 Handle<Object> value, |
| 9827 PropertyDetails details); | 9824 PropertyDetails details); |
| 9828 | 9825 |
| 9829 static Handle<PropertyCell> InvalidateEntry(Handle<NameDictionary> dictionary, | 9826 static Handle<PropertyCell> InvalidateEntry(Handle<NameDictionary> dictionary, |
| 9830 int entry); | 9827 int entry); |
| 9831 | 9828 |
| 9829 static void SetValueWithInvalidation(Handle<PropertyCell> cell, |
| 9830 Handle<Object> new_value); |
| 9831 |
| 9832 DECLARE_CAST(PropertyCell) | 9832 DECLARE_CAST(PropertyCell) |
| 9833 | 9833 |
| 9834 // Dispatched behavior. | 9834 // Dispatched behavior. |
| 9835 DECLARE_PRINTER(PropertyCell) | 9835 DECLARE_PRINTER(PropertyCell) |
| 9836 DECLARE_VERIFIER(PropertyCell) | 9836 DECLARE_VERIFIER(PropertyCell) |
| 9837 | 9837 |
| 9838 // Layout description. | 9838 // Layout description. |
| 9839 static const int kValueOffset = HeapObject::kHeaderSize; | 9839 static const int kValueOffset = HeapObject::kHeaderSize; |
| 9840 static const int kDependentCodeOffset = kValueOffset + kPointerSize; | 9840 static const int kDependentCodeOffset = kValueOffset + kPointerSize; |
| 9841 static const int kSize = kDependentCodeOffset + kPointerSize; | 9841 static const int kSize = kDependentCodeOffset + kPointerSize; |
| (...skipping 1240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11082 } else { | 11082 } else { |
| 11083 value &= ~(1 << bit_position); | 11083 value &= ~(1 << bit_position); |
| 11084 } | 11084 } |
| 11085 return value; | 11085 return value; |
| 11086 } | 11086 } |
| 11087 }; | 11087 }; |
| 11088 | 11088 |
| 11089 } } // namespace v8::internal | 11089 } } // namespace v8::internal |
| 11090 | 11090 |
| 11091 #endif // V8_OBJECTS_H_ | 11091 #endif // V8_OBJECTS_H_ |
| OLD | NEW |