Chromium Code Reviews| 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 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 836 HeapObject::cast(this)->map() == | 836 HeapObject::cast(this)->map() == |
| 837 HeapObject::cast(this)->GetHeap()->hash_table_map(); | 837 HeapObject::cast(this)->GetHeap()->hash_table_map(); |
| 838 } | 838 } |
| 839 | 839 |
| 840 | 840 |
| 841 bool Object::IsWeakHashTable() const { | 841 bool Object::IsWeakHashTable() const { |
| 842 return IsHashTable(); | 842 return IsHashTable(); |
| 843 } | 843 } |
| 844 | 844 |
| 845 | 845 |
| 846 bool Object::IsEmbeddedMapCache() const { return IsHashTable(); } | |
| 847 | |
| 848 | |
| 846 bool Object::IsDictionary() const { | 849 bool Object::IsDictionary() const { |
| 847 return IsHashTable() && | 850 return IsHashTable() && |
| 848 this != HeapObject::cast(this)->GetHeap()->string_table(); | 851 this != HeapObject::cast(this)->GetHeap()->string_table(); |
| 849 } | 852 } |
| 850 | 853 |
| 851 | 854 |
| 852 bool Object::IsNameDictionary() const { | 855 bool Object::IsNameDictionary() const { |
| 853 return IsDictionary(); | 856 return IsDictionary(); |
| 854 } | 857 } |
| 855 | 858 |
| (...skipping 2445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3301 CAST_ACCESSOR(SharedFunctionInfo) | 3304 CAST_ACCESSOR(SharedFunctionInfo) |
| 3302 CAST_ACCESSOR(SlicedString) | 3305 CAST_ACCESSOR(SlicedString) |
| 3303 CAST_ACCESSOR(Smi) | 3306 CAST_ACCESSOR(Smi) |
| 3304 CAST_ACCESSOR(String) | 3307 CAST_ACCESSOR(String) |
| 3305 CAST_ACCESSOR(StringTable) | 3308 CAST_ACCESSOR(StringTable) |
| 3306 CAST_ACCESSOR(Struct) | 3309 CAST_ACCESSOR(Struct) |
| 3307 CAST_ACCESSOR(Symbol) | 3310 CAST_ACCESSOR(Symbol) |
| 3308 CAST_ACCESSOR(UnseededNumberDictionary) | 3311 CAST_ACCESSOR(UnseededNumberDictionary) |
| 3309 CAST_ACCESSOR(WeakCell) | 3312 CAST_ACCESSOR(WeakCell) |
| 3310 CAST_ACCESSOR(WeakHashTable) | 3313 CAST_ACCESSOR(WeakHashTable) |
| 3314 CAST_ACCESSOR(EmbeddedMapCache) | |
|
Hannes Payer (out of office)
2014/11/17 17:34:33
alphabetic order
| |
| 3311 | 3315 |
| 3312 | 3316 |
| 3313 template <class Traits> | 3317 template <class Traits> |
| 3314 FixedTypedArray<Traits>* FixedTypedArray<Traits>::cast(Object* object) { | 3318 FixedTypedArray<Traits>* FixedTypedArray<Traits>::cast(Object* object) { |
| 3315 SLOW_DCHECK(object->IsHeapObject() && | 3319 SLOW_DCHECK(object->IsHeapObject() && |
| 3316 HeapObject::cast(object)->map()->instance_type() == | 3320 HeapObject::cast(object)->map()->instance_type() == |
| 3317 Traits::kInstanceType); | 3321 Traits::kInstanceType); |
| 3318 return reinterpret_cast<FixedTypedArray<Traits>*>(object); | 3322 return reinterpret_cast<FixedTypedArray<Traits>*>(object); |
| 3319 } | 3323 } |
| 3320 | 3324 |
| (...skipping 3694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7015 } | 7019 } |
| 7016 | 7020 |
| 7017 | 7021 |
| 7018 Handle<ObjectHashTable> ObjectHashTable::Shrink( | 7022 Handle<ObjectHashTable> ObjectHashTable::Shrink( |
| 7019 Handle<ObjectHashTable> table, Handle<Object> key) { | 7023 Handle<ObjectHashTable> table, Handle<Object> key) { |
| 7020 return DerivedHashTable::Shrink(table, key); | 7024 return DerivedHashTable::Shrink(table, key); |
| 7021 } | 7025 } |
| 7022 | 7026 |
| 7023 | 7027 |
| 7024 template <int entrysize> | 7028 template <int entrysize> |
| 7025 bool WeakHashTableShape<entrysize>::IsMatch(Handle<Object> key, Object* other) { | 7029 bool HeapPointerShape<entrysize>::IsMatch(Handle<Object> key, Object* other) { |
| 7026 return key->SameValue(other); | 7030 return key->SameValue(other); |
| 7027 } | 7031 } |
| 7028 | 7032 |
| 7029 | 7033 |
| 7030 template <int entrysize> | 7034 template <int entrysize> |
| 7031 uint32_t WeakHashTableShape<entrysize>::Hash(Handle<Object> key) { | 7035 uint32_t HeapPointerShape<entrysize>::Hash(Handle<Object> key) { |
| 7032 intptr_t hash = reinterpret_cast<intptr_t>(*key); | 7036 intptr_t hash = reinterpret_cast<intptr_t>(*key); |
| 7033 return (uint32_t)(hash & 0xFFFFFFFF); | 7037 return (uint32_t)(hash & 0xFFFFFFFF); |
| 7034 } | 7038 } |
| 7035 | 7039 |
| 7036 | 7040 |
| 7037 template <int entrysize> | 7041 template <int entrysize> |
| 7038 uint32_t WeakHashTableShape<entrysize>::HashForObject(Handle<Object> key, | 7042 uint32_t HeapPointerShape<entrysize>::HashForObject(Handle<Object> key, |
| 7039 Object* other) { | 7043 Object* other) { |
| 7040 intptr_t hash = reinterpret_cast<intptr_t>(other); | 7044 intptr_t hash = reinterpret_cast<intptr_t>(other); |
| 7041 return (uint32_t)(hash & 0xFFFFFFFF); | 7045 return (uint32_t)(hash & 0xFFFFFFFF); |
| 7042 } | 7046 } |
| 7043 | 7047 |
| 7044 | 7048 |
| 7045 template <int entrysize> | 7049 template <int entrysize> |
| 7046 Handle<Object> WeakHashTableShape<entrysize>::AsHandle(Isolate* isolate, | 7050 Handle<Object> HeapPointerShape<entrysize>::AsHandle(Isolate* isolate, |
| 7047 Handle<Object> key) { | 7051 Handle<Object> key) { |
| 7048 return key; | 7052 return key; |
| 7049 } | 7053 } |
| 7050 | 7054 |
| 7051 | 7055 |
| 7052 void Map::ClearCodeCache(Heap* heap) { | 7056 void Map::ClearCodeCache(Heap* heap) { |
| 7053 // No write barrier is needed since empty_fixed_array is not in new space. | 7057 // No write barrier is needed since empty_fixed_array is not in new space. |
| 7054 // Please note this function is used during marking: | 7058 // Please note this function is used during marking: |
| 7055 // - MarkCompactCollector::MarkUnmarkedObject | 7059 // - MarkCompactCollector::MarkUnmarkedObject |
| 7056 // - IncrementalMarking::Step | 7060 // - IncrementalMarking::Step |
| 7057 DCHECK(!heap->InNewSpace(heap->empty_fixed_array())); | 7061 DCHECK(!heap->InNewSpace(heap->empty_fixed_array())); |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7350 #undef READ_SHORT_FIELD | 7354 #undef READ_SHORT_FIELD |
| 7351 #undef WRITE_SHORT_FIELD | 7355 #undef WRITE_SHORT_FIELD |
| 7352 #undef READ_BYTE_FIELD | 7356 #undef READ_BYTE_FIELD |
| 7353 #undef WRITE_BYTE_FIELD | 7357 #undef WRITE_BYTE_FIELD |
| 7354 #undef NOBARRIER_READ_BYTE_FIELD | 7358 #undef NOBARRIER_READ_BYTE_FIELD |
| 7355 #undef NOBARRIER_WRITE_BYTE_FIELD | 7359 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 7356 | 7360 |
| 7357 } } // namespace v8::internal | 7361 } } // namespace v8::internal |
| 7358 | 7362 |
| 7359 #endif // V8_OBJECTS_INL_H_ | 7363 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |