Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Side by Side Diff: src/objects-inl.h

Issue 1706833002: [runtime] pass in the Isolate into SearchWithCache (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/objects.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 2632 matching lines...) Expand 10 before | Expand all | Expand 10 after
2643 // Slow case: perform binary search. 2643 // Slow case: perform binary search.
2644 return BinarySearch<search_mode>(array, name, 0, nof - 1, valid_entries, 2644 return BinarySearch<search_mode>(array, name, 0, nof - 1, valid_entries,
2645 out_insertion_index); 2645 out_insertion_index);
2646 } 2646 }
2647 2647
2648 2648
2649 int DescriptorArray::Search(Name* name, int valid_descriptors) { 2649 int DescriptorArray::Search(Name* name, int valid_descriptors) {
2650 return internal::Search<VALID_ENTRIES>(this, name, valid_descriptors, NULL); 2650 return internal::Search<VALID_ENTRIES>(this, name, valid_descriptors, NULL);
2651 } 2651 }
2652 2652
2653 2653 int DescriptorArray::SearchWithCache(Isolate* isolate, Name* name, Map* map) {
2654 int DescriptorArray::SearchWithCache(Name* name, Map* map) {
2655 int number_of_own_descriptors = map->NumberOfOwnDescriptors(); 2654 int number_of_own_descriptors = map->NumberOfOwnDescriptors();
2656 if (number_of_own_descriptors == 0) return kNotFound; 2655 if (number_of_own_descriptors == 0) return kNotFound;
2657 2656
2658 DescriptorLookupCache* cache = GetIsolate()->descriptor_lookup_cache(); 2657 DescriptorLookupCache* cache = isolate->descriptor_lookup_cache();
2659 int number = cache->Lookup(map, name); 2658 int number = cache->Lookup(map, name);
2660 2659
2661 if (number == DescriptorLookupCache::kAbsent) { 2660 if (number == DescriptorLookupCache::kAbsent) {
2662 number = Search(name, number_of_own_descriptors); 2661 number = Search(name, number_of_own_descriptors);
2663 cache->Update(map, name, number); 2662 cache->Update(map, name, number);
2664 } 2663 }
2665 2664
2666 return number; 2665 return number;
2667 } 2666 }
2668 2667
(...skipping 5004 matching lines...) Expand 10 before | Expand all | Expand 10 after
7673 #undef WRITE_INT64_FIELD 7672 #undef WRITE_INT64_FIELD
7674 #undef READ_BYTE_FIELD 7673 #undef READ_BYTE_FIELD
7675 #undef WRITE_BYTE_FIELD 7674 #undef WRITE_BYTE_FIELD
7676 #undef NOBARRIER_READ_BYTE_FIELD 7675 #undef NOBARRIER_READ_BYTE_FIELD
7677 #undef NOBARRIER_WRITE_BYTE_FIELD 7676 #undef NOBARRIER_WRITE_BYTE_FIELD
7678 7677
7679 } // namespace internal 7678 } // namespace internal
7680 } // namespace v8 7679 } // namespace v8
7681 7680
7682 #endif // V8_OBJECTS_INL_H_ 7681 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698