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 "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/builtins.h" | 10 #include "src/builtins.h" |
(...skipping 2135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2146 Handle<JSObject> object, | 2146 Handle<JSObject> object, |
2147 Handle<Name> key, | 2147 Handle<Name> key, |
2148 Handle<Object> value, | 2148 Handle<Object> value, |
2149 PropertyAttributes attributes, | 2149 PropertyAttributes attributes, |
2150 ValueType value_type = OPTIMAL_REPRESENTATION, | 2150 ValueType value_type = OPTIMAL_REPRESENTATION, |
2151 StoreMode mode = ALLOW_AS_CONSTANT, | 2151 StoreMode mode = ALLOW_AS_CONSTANT, |
2152 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK, | 2152 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK, |
2153 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, | 2153 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, |
2154 ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); | 2154 ExecutableAccessorInfoHandling handling = DEFAULT_HANDLING); |
2155 | 2155 |
| 2156 static void AddProperty(Handle<JSObject> object, |
| 2157 Handle<Name> key, |
| 2158 Handle<Object> value, |
| 2159 PropertyAttributes attributes, |
| 2160 ValueType value_type = OPTIMAL_REPRESENTATION, |
| 2161 StoreMode mode = ALLOW_AS_CONSTANT); |
| 2162 |
2156 // Extend the receiver with a single fast property appeared first in the | 2163 // Extend the receiver with a single fast property appeared first in the |
2157 // passed map. This also extends the property backing store if necessary. | 2164 // passed map. This also extends the property backing store if necessary. |
2158 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); | 2165 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); |
2159 | 2166 |
2160 // Migrates the given object to a map whose field representations are the | 2167 // Migrates the given object to a map whose field representations are the |
2161 // lowest upper bound of all known representations for that field. | 2168 // lowest upper bound of all known representations for that field. |
2162 static void MigrateInstance(Handle<JSObject> instance); | 2169 static void MigrateInstance(Handle<JSObject> instance); |
2163 | 2170 |
2164 // Migrates the given object only if the target map is already available, | 2171 // Migrates the given object only if the target map is already available, |
2165 // or returns false if such a map is not yet available. | 2172 // or returns false if such a map is not yet available. |
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2743 PropertyAttributes attributes); | 2750 PropertyAttributes attributes); |
2744 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithFailedAccessCheck( | 2751 MUST_USE_RESULT static MaybeHandle<Object> SetPropertyWithFailedAccessCheck( |
2745 Handle<JSObject> object, | 2752 Handle<JSObject> object, |
2746 LookupResult* result, | 2753 LookupResult* result, |
2747 Handle<Name> name, | 2754 Handle<Name> name, |
2748 Handle<Object> value, | 2755 Handle<Object> value, |
2749 bool check_prototype, | 2756 bool check_prototype, |
2750 StrictMode strict_mode); | 2757 StrictMode strict_mode); |
2751 | 2758 |
2752 // Add a property to an object. | 2759 // Add a property to an object. |
2753 MUST_USE_RESULT static MaybeHandle<Object> AddProperty( | 2760 MUST_USE_RESULT static MaybeHandle<Object> AddPropertyInternal( |
2754 Handle<JSObject> object, | 2761 Handle<JSObject> object, |
2755 Handle<Name> name, | 2762 Handle<Name> name, |
2756 Handle<Object> value, | 2763 Handle<Object> value, |
2757 PropertyAttributes attributes, | 2764 PropertyAttributes attributes, |
2758 StrictMode strict_mode, | 2765 StrictMode strict_mode, |
2759 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, | 2766 StoreFromKeyed store_mode = MAY_BE_STORE_FROM_KEYED, |
2760 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK, | 2767 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK, |
2761 ValueType value_type = OPTIMAL_REPRESENTATION, | 2768 ValueType value_type = OPTIMAL_REPRESENTATION, |
2762 StoreMode mode = ALLOW_AS_CONSTANT, | 2769 StoreMode mode = ALLOW_AS_CONSTANT, |
2763 TransitionFlag flag = INSERT_TRANSITION); | 2770 TransitionFlag flag = INSERT_TRANSITION); |
(...skipping 8403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11167 } else { | 11174 } else { |
11168 value &= ~(1 << bit_position); | 11175 value &= ~(1 << bit_position); |
11169 } | 11176 } |
11170 return value; | 11177 return value; |
11171 } | 11178 } |
11172 }; | 11179 }; |
11173 | 11180 |
11174 } } // namespace v8::internal | 11181 } } // namespace v8::internal |
11175 | 11182 |
11176 #endif // V8_OBJECTS_H_ | 11183 #endif // V8_OBJECTS_H_ |
OLD | NEW |