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 9811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9822 | 9822 |
9823 | 9823 |
9824 class PropertyCell : public HeapObject { | 9824 class PropertyCell : public HeapObject { |
9825 public: | 9825 public: |
9826 // [value]: value of the global property. | 9826 // [value]: value of the global property. |
9827 DECL_ACCESSORS(value, Object) | 9827 DECL_ACCESSORS(value, Object) |
9828 // [dependent_code]: dependent code that depends on the type of the global | 9828 // [dependent_code]: dependent code that depends on the type of the global |
9829 // property. | 9829 // property. |
9830 DECL_ACCESSORS(dependent_code, DependentCode) | 9830 DECL_ACCESSORS(dependent_code, DependentCode) |
9831 | 9831 |
| 9832 PropertyCellConstantType GetConstantType(); |
| 9833 |
9832 // Computes the new type of the cell's contents for the given value, but | 9834 // Computes the new type of the cell's contents for the given value, but |
9833 // without actually modifying the details. | 9835 // without actually modifying the details. |
9834 static PropertyCellType UpdatedType(Handle<PropertyCell> cell, | 9836 static PropertyCellType UpdatedType(Handle<PropertyCell> cell, |
9835 Handle<Object> value, | 9837 Handle<Object> value, |
9836 PropertyDetails details); | 9838 PropertyDetails details); |
9837 static Handle<Object> UpdateCell(Handle<NameDictionary> dictionary, int entry, | 9839 static Handle<Object> UpdateCell(Handle<NameDictionary> dictionary, int entry, |
9838 Handle<Object> value, | 9840 Handle<Object> value, |
9839 PropertyDetails details); | 9841 PropertyDetails details); |
9840 | 9842 |
9841 static Handle<PropertyCell> InvalidateEntry(Handle<NameDictionary> dictionary, | 9843 static Handle<PropertyCell> InvalidateEntry(Handle<NameDictionary> dictionary, |
(...skipping 1251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11093 } else { | 11095 } else { |
11094 value &= ~(1 << bit_position); | 11096 value &= ~(1 << bit_position); |
11095 } | 11097 } |
11096 return value; | 11098 return value; |
11097 } | 11099 } |
11098 }; | 11100 }; |
11099 | 11101 |
11100 } } // namespace v8::internal | 11102 } } // namespace v8::internal |
11101 | 11103 |
11102 #endif // V8_OBJECTS_H_ | 11104 #endif // V8_OBJECTS_H_ |
OLD | NEW |