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 2084 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2095 static void NormalizeProperties(Handle<JSObject> object, | 2095 static void NormalizeProperties(Handle<JSObject> object, |
2096 PropertyNormalizationMode mode, | 2096 PropertyNormalizationMode mode, |
2097 int expected_additional_properties, | 2097 int expected_additional_properties, |
2098 const char* reason); | 2098 const char* reason); |
2099 | 2099 |
2100 // Convert and update the elements backing store to be a | 2100 // Convert and update the elements backing store to be a |
2101 // SeededNumberDictionary dictionary. Returns the backing after conversion. | 2101 // SeededNumberDictionary dictionary. Returns the backing after conversion. |
2102 static Handle<SeededNumberDictionary> NormalizeElements( | 2102 static Handle<SeededNumberDictionary> NormalizeElements( |
2103 Handle<JSObject> object); | 2103 Handle<JSObject> object); |
2104 | 2104 |
| 2105 static void RequireSlowElements(Handle<JSObject> object, |
| 2106 Handle<SeededNumberDictionary> dictionary); |
| 2107 |
2105 // Transform slow named properties to fast variants. | 2108 // Transform slow named properties to fast variants. |
2106 static void MigrateSlowToFast(Handle<JSObject> object, | 2109 static void MigrateSlowToFast(Handle<JSObject> object, |
2107 int unused_property_fields, const char* reason); | 2110 int unused_property_fields, const char* reason); |
2108 | 2111 |
2109 inline bool IsUnboxedDoubleField(FieldIndex index); | 2112 inline bool IsUnboxedDoubleField(FieldIndex index); |
2110 | 2113 |
2111 // Access fast-case object properties at index. | 2114 // Access fast-case object properties at index. |
2112 static Handle<Object> FastPropertyAt(Handle<JSObject> object, | 2115 static Handle<Object> FastPropertyAt(Handle<JSObject> object, |
2113 Representation representation, | 2116 Representation representation, |
2114 FieldIndex index); | 2117 FieldIndex index); |
(...skipping 8678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10793 } else { | 10796 } else { |
10794 value &= ~(1 << bit_position); | 10797 value &= ~(1 << bit_position); |
10795 } | 10798 } |
10796 return value; | 10799 return value; |
10797 } | 10800 } |
10798 }; | 10801 }; |
10799 | 10802 |
10800 } } // namespace v8::internal | 10803 } } // namespace v8::internal |
10801 | 10804 |
10802 #endif // V8_OBJECTS_H_ | 10805 #endif // V8_OBJECTS_H_ |
OLD | NEW |