OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2156 PropertyAttributes attributes, | 2156 PropertyAttributes attributes, |
2157 StrictModeFlag strict_mode, | 2157 StrictModeFlag strict_mode, |
2158 StoreMode mode = ALLOW_AS_CONSTANT); | 2158 StoreMode mode = ALLOW_AS_CONSTANT); |
2159 | 2159 |
2160 static Handle<Object> SetLocalPropertyIgnoreAttributes( | 2160 static Handle<Object> SetLocalPropertyIgnoreAttributes( |
2161 Handle<JSObject> object, | 2161 Handle<JSObject> object, |
2162 Handle<Name> key, | 2162 Handle<Name> key, |
2163 Handle<Object> value, | 2163 Handle<Object> value, |
2164 PropertyAttributes attributes, | 2164 PropertyAttributes attributes, |
2165 ValueType value_type = OPTIMAL_REPRESENTATION, | 2165 ValueType value_type = OPTIMAL_REPRESENTATION, |
2166 StoreMode mode = ALLOW_AS_CONSTANT); | 2166 StoreMode mode = ALLOW_AS_CONSTANT, |
| 2167 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); |
2167 | 2168 |
2168 static inline Handle<String> ExpectedTransitionKey(Handle<Map> map); | 2169 static inline Handle<String> ExpectedTransitionKey(Handle<Map> map); |
2169 static inline Handle<Map> ExpectedTransitionTarget(Handle<Map> map); | 2170 static inline Handle<Map> ExpectedTransitionTarget(Handle<Map> map); |
2170 | 2171 |
2171 // Try to follow an existing transition to a field with attributes NONE. The | 2172 // Try to follow an existing transition to a field with attributes NONE. The |
2172 // return value indicates whether the transition was successful. | 2173 // return value indicates whether the transition was successful. |
2173 static inline Handle<Map> FindTransitionToField(Handle<Map> map, | 2174 static inline Handle<Map> FindTransitionToField(Handle<Map> map, |
2174 Handle<Name> key); | 2175 Handle<Name> key); |
2175 | 2176 |
2176 inline int LastAddedFieldIndex(); | 2177 inline int LastAddedFieldIndex(); |
(...skipping 10 matching lines...) Expand all Loading... |
2187 inline MUST_USE_RESULT MaybeObject* TryMigrateInstance(); | 2188 inline MUST_USE_RESULT MaybeObject* TryMigrateInstance(); |
2188 | 2189 |
2189 // Can cause GC. | 2190 // Can cause GC. |
2190 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributes( | 2191 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributes( |
2191 Name* key, | 2192 Name* key, |
2192 Object* value, | 2193 Object* value, |
2193 PropertyAttributes attributes, | 2194 PropertyAttributes attributes, |
2194 ValueType value_type = OPTIMAL_REPRESENTATION, | 2195 ValueType value_type = OPTIMAL_REPRESENTATION, |
2195 StoreMode mode = ALLOW_AS_CONSTANT, | 2196 StoreMode mode = ALLOW_AS_CONSTANT, |
2196 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); | 2197 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); |
| 2198 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributesTrampoline( |
| 2199 Name* key, |
| 2200 Object* value, |
| 2201 PropertyAttributes attributes, |
| 2202 ValueType value_type = OPTIMAL_REPRESENTATION, |
| 2203 StoreMode mode = ALLOW_AS_CONSTANT, |
| 2204 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); |
2197 | 2205 |
2198 // Retrieve a value in a normalized object given a lookup result. | 2206 // Retrieve a value in a normalized object given a lookup result. |
2199 // Handles the special representation of JS global objects. | 2207 // Handles the special representation of JS global objects. |
2200 Object* GetNormalizedProperty(LookupResult* result); | 2208 Object* GetNormalizedProperty(LookupResult* result); |
2201 | 2209 |
2202 // Sets the property value in a normalized object given (key, value). | 2210 // Sets the property value in a normalized object given (key, value). |
2203 // Handles the special representation of JS global objects. | 2211 // Handles the special representation of JS global objects. |
2204 static Handle<Object> SetNormalizedProperty(Handle<JSObject> object, | 2212 static Handle<Object> SetNormalizedProperty(Handle<JSObject> object, |
2205 LookupResult* result, | 2213 LookupResult* result, |
2206 Handle<Object> value); | 2214 Handle<Object> value); |
(...skipping 8007 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10214 } else { | 10222 } else { |
10215 value &= ~(1 << bit_position); | 10223 value &= ~(1 << bit_position); |
10216 } | 10224 } |
10217 return value; | 10225 return value; |
10218 } | 10226 } |
10219 }; | 10227 }; |
10220 | 10228 |
10221 } } // namespace v8::internal | 10229 } } // namespace v8::internal |
10222 | 10230 |
10223 #endif // V8_OBJECTS_H_ | 10231 #endif // V8_OBJECTS_H_ |
OLD | NEW |