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 2175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2186 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); | 2186 static void AllocateStorageForMap(Handle<JSObject> object, Handle<Map> map); |
2187 | 2187 |
2188 // Migrates the given object to a map whose field representations are the | 2188 // Migrates the given object to a map whose field representations are the |
2189 // lowest upper bound of all known representations for that field. | 2189 // lowest upper bound of all known representations for that field. |
2190 static void MigrateInstance(Handle<JSObject> instance); | 2190 static void MigrateInstance(Handle<JSObject> instance); |
2191 | 2191 |
2192 // Migrates the given object only if the target map is already available, | 2192 // Migrates the given object only if the target map is already available, |
2193 // or returns an empty handle if such a map is not yet available. | 2193 // or returns an empty handle if such a map is not yet available. |
2194 static Handle<Object> TryMigrateInstance(Handle<JSObject> instance); | 2194 static Handle<Object> TryMigrateInstance(Handle<JSObject> instance); |
2195 | 2195 |
2196 // Can cause GC. | |
2197 MUST_USE_RESULT MaybeObject* SetLocalPropertyIgnoreAttributesTrampoline( | |
2198 Name* key, | |
2199 Object* value, | |
2200 PropertyAttributes attributes, | |
2201 ValueType value_type = OPTIMAL_REPRESENTATION, | |
2202 StoreMode mode = ALLOW_AS_CONSTANT, | |
2203 ExtensibilityCheck extensibility_check = PERFORM_EXTENSIBILITY_CHECK); | |
2204 | |
2205 // Retrieve a value in a normalized object given a lookup result. | 2196 // Retrieve a value in a normalized object given a lookup result. |
2206 // Handles the special representation of JS global objects. | 2197 // Handles the special representation of JS global objects. |
2207 Object* GetNormalizedProperty(LookupResult* result); | 2198 Object* GetNormalizedProperty(LookupResult* result); |
2208 | 2199 |
2209 // Sets the property value in a normalized object given a lookup result. | 2200 // Sets the property value in a normalized object given a lookup result. |
2210 // Handles the special representation of JS global objects. | 2201 // Handles the special representation of JS global objects. |
2211 static void SetNormalizedProperty(Handle<JSObject> object, | 2202 static void SetNormalizedProperty(Handle<JSObject> object, |
2212 LookupResult* result, | 2203 LookupResult* result, |
2213 Handle<Object> value); | 2204 Handle<Object> value); |
2214 | 2205 |
(...skipping 8266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10481 } else { | 10472 } else { |
10482 value &= ~(1 << bit_position); | 10473 value &= ~(1 << bit_position); |
10483 } | 10474 } |
10484 return value; | 10475 return value; |
10485 } | 10476 } |
10486 }; | 10477 }; |
10487 | 10478 |
10488 } } // namespace v8::internal | 10479 } } // namespace v8::internal |
10489 | 10480 |
10490 #endif // V8_OBJECTS_H_ | 10481 #endif // V8_OBJECTS_H_ |
OLD | NEW |