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 3600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3611 return PropertyDetails( | 3611 return PropertyDetails( |
3612 Smi::cast(this->get(DerivedHashTable::EntryToIndex(entry) + 2))); | 3612 Smi::cast(this->get(DerivedHashTable::EntryToIndex(entry) + 2))); |
3613 } | 3613 } |
3614 | 3614 |
3615 // Set the details for entry. | 3615 // Set the details for entry. |
3616 void DetailsAtPut(int entry, PropertyDetails value) { | 3616 void DetailsAtPut(int entry, PropertyDetails value) { |
3617 this->set(DerivedHashTable::EntryToIndex(entry) + 2, value.AsSmi()); | 3617 this->set(DerivedHashTable::EntryToIndex(entry) + 2, value.AsSmi()); |
3618 } | 3618 } |
3619 | 3619 |
3620 // Delete a property from the dictionary. | 3620 // Delete a property from the dictionary. |
3621 static Handle<Object> DeleteProperty(Handle<Derived> dictionary, int entry); | 3621 static Handle<Object> DeleteProperty(Handle<Derived> dictionary, int entry, |
| 3622 bool strong_obj = false); |
3622 | 3623 |
3623 // Attempt to shrink the dictionary after deletion of key. | 3624 // Attempt to shrink the dictionary after deletion of key. |
3624 MUST_USE_RESULT static inline Handle<Derived> Shrink( | 3625 MUST_USE_RESULT static inline Handle<Derived> Shrink( |
3625 Handle<Derived> dictionary, | 3626 Handle<Derived> dictionary, |
3626 Key key) { | 3627 Key key) { |
3627 return DerivedHashTable::Shrink(dictionary, key); | 3628 return DerivedHashTable::Shrink(dictionary, key); |
3628 } | 3629 } |
3629 | 3630 |
3630 // Sorting support | 3631 // Sorting support |
3631 // TODO(dcarney): templatize or move to SeededNumberDictionary | 3632 // TODO(dcarney): templatize or move to SeededNumberDictionary |
(...skipping 7498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11130 } else { | 11131 } else { |
11131 value &= ~(1 << bit_position); | 11132 value &= ~(1 << bit_position); |
11132 } | 11133 } |
11133 return value; | 11134 return value; |
11134 } | 11135 } |
11135 }; | 11136 }; |
11136 | 11137 |
11137 } } // namespace v8::internal | 11138 } } // namespace v8::internal |
11138 | 11139 |
11139 #endif // V8_OBJECTS_H_ | 11140 #endif // V8_OBJECTS_H_ |
OLD | NEW |