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