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