| 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 // Review notes: | 5 // Review notes: |
| 6 // | 6 // |
| 7 // - The use of macros in these inline functions may seem superfluous | 7 // - The use of macros in these inline functions may seem superfluous |
| 8 // but it is absolutely needed to make sure gcc generates optimal | 8 // but it is absolutely needed to make sure gcc generates optimal |
| 9 // code. gcc is not happy when attempting to inline too deep. | 9 // code. gcc is not happy when attempting to inline too deep. |
| 10 // | 10 // |
| (...skipping 2933 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2944 if (current_hash > hash) { | 2944 if (current_hash > hash) { |
| 2945 if (out_insertion_index != NULL) *out_insertion_index = sorted_index; | 2945 if (out_insertion_index != NULL) *out_insertion_index = sorted_index; |
| 2946 return T::kNotFound; | 2946 return T::kNotFound; |
| 2947 } | 2947 } |
| 2948 if (current_hash == hash && entry->Equals(name)) return sorted_index; | 2948 if (current_hash == hash && entry->Equals(name)) return sorted_index; |
| 2949 } | 2949 } |
| 2950 if (out_insertion_index != NULL) *out_insertion_index = len; | 2950 if (out_insertion_index != NULL) *out_insertion_index = len; |
| 2951 return T::kNotFound; | 2951 return T::kNotFound; |
| 2952 } else { | 2952 } else { |
| 2953 DCHECK(len >= valid_entries); | 2953 DCHECK(len >= valid_entries); |
| 2954 DCHECK_EQ(NULL, out_insertion_index); // Not supported here. | 2954 DCHECK_NULL(out_insertion_index); // Not supported here. |
| 2955 for (int number = 0; number < valid_entries; number++) { | 2955 for (int number = 0; number < valid_entries; number++) { |
| 2956 Name* entry = array->GetKey(number); | 2956 Name* entry = array->GetKey(number); |
| 2957 uint32_t current_hash = entry->Hash(); | 2957 uint32_t current_hash = entry->Hash(); |
| 2958 if (current_hash == hash && entry->Equals(name)) return number; | 2958 if (current_hash == hash && entry->Equals(name)) return number; |
| 2959 } | 2959 } |
| 2960 return T::kNotFound; | 2960 return T::kNotFound; |
| 2961 } | 2961 } |
| 2962 } | 2962 } |
| 2963 | 2963 |
| 2964 | 2964 |
| (...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3385 CAST_ACCESSOR(String) | 3385 CAST_ACCESSOR(String) |
| 3386 CAST_ACCESSOR(StringTable) | 3386 CAST_ACCESSOR(StringTable) |
| 3387 CAST_ACCESSOR(Struct) | 3387 CAST_ACCESSOR(Struct) |
| 3388 CAST_ACCESSOR(Symbol) | 3388 CAST_ACCESSOR(Symbol) |
| 3389 CAST_ACCESSOR(UnseededNumberDictionary) | 3389 CAST_ACCESSOR(UnseededNumberDictionary) |
| 3390 CAST_ACCESSOR(WeakCell) | 3390 CAST_ACCESSOR(WeakCell) |
| 3391 CAST_ACCESSOR(WeakFixedArray) | 3391 CAST_ACCESSOR(WeakFixedArray) |
| 3392 CAST_ACCESSOR(WeakHashTable) | 3392 CAST_ACCESSOR(WeakHashTable) |
| 3393 | 3393 |
| 3394 | 3394 |
| 3395 // static |
| 3396 template <class Traits> |
| 3397 STATIC_CONST_MEMBER_DEFINITION const InstanceType |
| 3398 FixedTypedArray<Traits>::kInstanceType; |
| 3399 |
| 3400 |
| 3395 template <class Traits> | 3401 template <class Traits> |
| 3396 FixedTypedArray<Traits>* FixedTypedArray<Traits>::cast(Object* object) { | 3402 FixedTypedArray<Traits>* FixedTypedArray<Traits>::cast(Object* object) { |
| 3397 SLOW_DCHECK(object->IsHeapObject() && | 3403 SLOW_DCHECK(object->IsHeapObject() && |
| 3398 HeapObject::cast(object)->map()->instance_type() == | 3404 HeapObject::cast(object)->map()->instance_type() == |
| 3399 Traits::kInstanceType); | 3405 Traits::kInstanceType); |
| 3400 return reinterpret_cast<FixedTypedArray<Traits>*>(object); | 3406 return reinterpret_cast<FixedTypedArray<Traits>*>(object); |
| 3401 } | 3407 } |
| 3402 | 3408 |
| 3403 | 3409 |
| 3404 template <class Traits> | 3410 template <class Traits> |
| (...skipping 4190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7595 #undef READ_SHORT_FIELD | 7601 #undef READ_SHORT_FIELD |
| 7596 #undef WRITE_SHORT_FIELD | 7602 #undef WRITE_SHORT_FIELD |
| 7597 #undef READ_BYTE_FIELD | 7603 #undef READ_BYTE_FIELD |
| 7598 #undef WRITE_BYTE_FIELD | 7604 #undef WRITE_BYTE_FIELD |
| 7599 #undef NOBARRIER_READ_BYTE_FIELD | 7605 #undef NOBARRIER_READ_BYTE_FIELD |
| 7600 #undef NOBARRIER_WRITE_BYTE_FIELD | 7606 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 7601 | 7607 |
| 7602 } } // namespace v8::internal | 7608 } } // namespace v8::internal |
| 7603 | 7609 |
| 7604 #endif // V8_OBJECTS_INL_H_ | 7610 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |