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

Side by Side Diff: src/d8.h

Issue 1074943002: Split TemplateHashMapImpl::Lookup into two methods (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix arm (and ppc) builds Created 5 years, 8 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
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 #ifndef V8_D8_H_ 5 #ifndef V8_D8_H_
6 #define V8_D8_H_ 6 #define V8_D8_H_
7 7
8 #ifndef V8_SHARED 8 #ifndef V8_SHARED
9 #include "src/allocation.h" 9 #include "src/allocation.h"
10 #include "src/hashmap.h" 10 #include "src/hashmap.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 uint32_t max_name_size_; 51 uint32_t max_name_size_;
52 uint32_t counters_in_use_; 52 uint32_t counters_in_use_;
53 Counter counters_[kMaxCounters]; 53 Counter counters_[kMaxCounters];
54 }; 54 };
55 55
56 56
57 class CounterMap { 57 class CounterMap {
58 public: 58 public:
59 CounterMap(): hash_map_(Match) { } 59 CounterMap(): hash_map_(Match) { }
60 Counter* Lookup(const char* name) { 60 Counter* Lookup(const char* name) {
61 i::HashMap::Entry* answer = hash_map_.Lookup( 61 i::HashMap::Entry* answer =
62 const_cast<char*>(name), 62 hash_map_.Lookup(const_cast<char*>(name), Hash(name));
63 Hash(name),
64 false);
65 if (!answer) return NULL; 63 if (!answer) return NULL;
66 return reinterpret_cast<Counter*>(answer->value); 64 return reinterpret_cast<Counter*>(answer->value);
67 } 65 }
68 void Set(const char* name, Counter* value) { 66 void Set(const char* name, Counter* value) {
69 i::HashMap::Entry* answer = hash_map_.Lookup( 67 i::HashMap::Entry* answer =
70 const_cast<char*>(name), 68 hash_map_.LookupOrInsert(const_cast<char*>(name), Hash(name));
71 Hash(name),
72 true);
73 DCHECK(answer != NULL); 69 DCHECK(answer != NULL);
74 answer->value = value; 70 answer->value = value;
75 } 71 }
76 class Iterator { 72 class Iterator {
77 public: 73 public:
78 explicit Iterator(CounterMap* map) 74 explicit Iterator(CounterMap* map)
79 : map_(&map->hash_map_), entry_(map_->Start()) { } 75 : map_(&map->hash_map_), entry_(map_->Start()) { }
80 void Next() { entry_ = map_->Next(entry_); } 76 void Next() { entry_ = map_->Next(entry_); }
81 bool More() { return entry_ != NULL; } 77 bool More() { return entry_ != NULL; }
82 const char* CurrentKey() { return static_cast<const char*>(entry_->key); } 78 const char* CurrentKey() { return static_cast<const char*>(entry_->key); }
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 static void ExternalArrayWeakCallback(Isolate* isolate, 403 static void ExternalArrayWeakCallback(Isolate* isolate,
408 Persistent<Object>* object, 404 Persistent<Object>* object,
409 uint8_t* data); 405 uint8_t* data);
410 }; 406 };
411 407
412 408
413 } // namespace v8 409 } // namespace v8
414 410
415 411
416 #endif // V8_D8_H_ 412 #endif // V8_D8_H_
OLDNEW
« no previous file with comments | « src/compiler/state-values-utils.cc ('k') | src/debug.cc » ('j') | src/hashmap.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698