OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1358 MUST_USE_RESULT MaybeObject* DeleteProperty(String* name, DeleteMode mode); | 1358 MUST_USE_RESULT MaybeObject* DeleteProperty(String* name, DeleteMode mode); |
1359 MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); | 1359 MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); |
1360 | 1360 |
1361 // Set the index'th array element. | 1361 // Set the index'th array element. |
1362 // Can cause GC, or return failure if GC is required. | 1362 // Can cause GC, or return failure if GC is required. |
1363 MUST_USE_RESULT MaybeObject* SetElement(uint32_t index, | 1363 MUST_USE_RESULT MaybeObject* SetElement(uint32_t index, |
1364 Object* value, | 1364 Object* value, |
1365 StrictModeFlag strict_mode, | 1365 StrictModeFlag strict_mode, |
1366 bool check_prototype); | 1366 bool check_prototype); |
1367 | 1367 |
| 1368 // Tests for the fast common case for property enumeration. |
| 1369 bool IsSimpleEnum(); |
| 1370 |
1368 // Returns the class name ([[Class]] property in the specification). | 1371 // Returns the class name ([[Class]] property in the specification). |
1369 String* class_name(); | 1372 String* class_name(); |
1370 | 1373 |
1371 // Returns the constructor name (the name (possibly, inferred name) of the | 1374 // Returns the constructor name (the name (possibly, inferred name) of the |
1372 // function that was used to instantiate the object). | 1375 // function that was used to instantiate the object). |
1373 String* constructor_name(); | 1376 String* constructor_name(); |
1374 | 1377 |
1375 inline PropertyAttributes GetPropertyAttribute(String* name); | 1378 inline PropertyAttributes GetPropertyAttribute(String* name); |
1376 PropertyAttributes GetPropertyAttributeWithReceiver(JSReceiver* receiver, | 1379 PropertyAttributes GetPropertyAttributeWithReceiver(JSReceiver* receiver, |
1377 String* name); | 1380 String* name); |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1610 void DeleteHiddenProperty(String* key); | 1613 void DeleteHiddenProperty(String* key); |
1611 // Returns true if the object has a property with the hidden symbol as name. | 1614 // Returns true if the object has a property with the hidden symbol as name. |
1612 bool HasHiddenProperties(); | 1615 bool HasHiddenProperties(); |
1613 | 1616 |
1614 MUST_USE_RESULT MaybeObject* GetIdentityHash(CreationFlag flag); | 1617 MUST_USE_RESULT MaybeObject* GetIdentityHash(CreationFlag flag); |
1615 MUST_USE_RESULT MaybeObject* SetIdentityHash(Object* hash, CreationFlag flag); | 1618 MUST_USE_RESULT MaybeObject* SetIdentityHash(Object* hash, CreationFlag flag); |
1616 | 1619 |
1617 MUST_USE_RESULT MaybeObject* DeleteProperty(String* name, DeleteMode mode); | 1620 MUST_USE_RESULT MaybeObject* DeleteProperty(String* name, DeleteMode mode); |
1618 MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); | 1621 MUST_USE_RESULT MaybeObject* DeleteElement(uint32_t index, DeleteMode mode); |
1619 | 1622 |
1620 // Tests for the fast common case for property enumeration. | |
1621 bool IsSimpleEnum(); | |
1622 | |
1623 inline void ValidateSmiOnlyElements(); | 1623 inline void ValidateSmiOnlyElements(); |
1624 | 1624 |
1625 // Makes sure that this object can contain non-smi Object as elements. | 1625 // Makes sure that this object can contain non-smi Object as elements. |
1626 inline MaybeObject* EnsureCanContainNonSmiElements(); | 1626 inline MaybeObject* EnsureCanContainNonSmiElements(); |
1627 | 1627 |
1628 // Makes sure that this object can contain the specified elements. | 1628 // Makes sure that this object can contain the specified elements. |
1629 inline MaybeObject* EnsureCanContainElements(Object** elements, | 1629 inline MaybeObject* EnsureCanContainElements(Object** elements, |
1630 uint32_t count); | 1630 uint32_t count); |
1631 inline MaybeObject* EnsureCanContainElements(FixedArray* elements); | 1631 inline MaybeObject* EnsureCanContainElements(FixedArray* elements); |
1632 MaybeObject* EnsureCanContainElements(Arguments* arguments, | 1632 MaybeObject* EnsureCanContainElements(Arguments* arguments, |
(...skipping 6077 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7710 } else { | 7710 } else { |
7711 value &= ~(1 << bit_position); | 7711 value &= ~(1 << bit_position); |
7712 } | 7712 } |
7713 return value; | 7713 return value; |
7714 } | 7714 } |
7715 }; | 7715 }; |
7716 | 7716 |
7717 } } // namespace v8::internal | 7717 } } // namespace v8::internal |
7718 | 7718 |
7719 #endif // V8_OBJECTS_H_ | 7719 #endif // V8_OBJECTS_H_ |
OLD | NEW |