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

Side by Side Diff: src/stub-cache.h

Issue 430503007: Rename ASSERT* to DCHECK*. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE and fixes Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « src/strtod.cc ('k') | src/stub-cache.cc » ('j') | 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 #ifndef V8_STUB_CACHE_H_ 5 #ifndef V8_STUB_CACHE_H_
6 #define V8_STUB_CACHE_H_ 6 #define V8_STUB_CACHE_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/arguments.h" 9 #include "src/arguments.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 // update strategy on updates is fairly clear and simple: Any existing entry 118 // update strategy on updates is fairly clear and simple: Any existing entry
119 // in the primary cache is moved to the secondary cache, and secondary cache 119 // in the primary cache is moved to the secondary cache, and secondary cache
120 // entries are overwritten. 120 // entries are overwritten.
121 121
122 // Hash algorithm for the primary table. This algorithm is replicated in 122 // Hash algorithm for the primary table. This algorithm is replicated in
123 // assembler for every architecture. Returns an index into the table that 123 // assembler for every architecture. Returns an index into the table that
124 // is scaled by 1 << kCacheIndexShift. 124 // is scaled by 1 << kCacheIndexShift.
125 static int PrimaryOffset(Name* name, Code::Flags flags, Map* map) { 125 static int PrimaryOffset(Name* name, Code::Flags flags, Map* map) {
126 STATIC_ASSERT(kCacheIndexShift == Name::kHashShift); 126 STATIC_ASSERT(kCacheIndexShift == Name::kHashShift);
127 // Compute the hash of the name (use entire hash field). 127 // Compute the hash of the name (use entire hash field).
128 ASSERT(name->HasHashCode()); 128 DCHECK(name->HasHashCode());
129 uint32_t field = name->hash_field(); 129 uint32_t field = name->hash_field();
130 // Using only the low bits in 64-bit mode is unlikely to increase the 130 // Using only the low bits in 64-bit mode is unlikely to increase the
131 // risk of collision even if the heap is spread over an area larger than 131 // risk of collision even if the heap is spread over an area larger than
132 // 4Gb (and not at all if it isn't). 132 // 4Gb (and not at all if it isn't).
133 uint32_t map_low32bits = 133 uint32_t map_low32bits =
134 static_cast<uint32_t>(reinterpret_cast<uintptr_t>(map)); 134 static_cast<uint32_t>(reinterpret_cast<uintptr_t>(map));
135 // We always set the in_loop bit to zero when generating the lookup code 135 // We always set the in_loop bit to zero when generating the lookup code
136 // so do it here too so the hash codes match. 136 // so do it here too so the hash codes match.
137 uint32_t iflags = 137 uint32_t iflags =
138 (static_cast<uint32_t>(flags) & ~Code::kFlagsNotUsedInLookup); 138 (static_cast<uint32_t>(flags) & ~Code::kFlagsNotUsedInLookup);
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 return code->ic_state() == MONOMORPHIC ? Logger::LOAD_IC_TAG 349 return code->ic_state() == MONOMORPHIC ? Logger::LOAD_IC_TAG
350 : Logger::LOAD_POLYMORPHIC_IC_TAG; 350 : Logger::LOAD_POLYMORPHIC_IC_TAG;
351 } else if (kind() == Code::KEYED_LOAD_IC) { 351 } else if (kind() == Code::KEYED_LOAD_IC) {
352 return code->ic_state() == MONOMORPHIC 352 return code->ic_state() == MONOMORPHIC
353 ? Logger::KEYED_LOAD_IC_TAG 353 ? Logger::KEYED_LOAD_IC_TAG
354 : Logger::KEYED_LOAD_POLYMORPHIC_IC_TAG; 354 : Logger::KEYED_LOAD_POLYMORPHIC_IC_TAG;
355 } else if (kind() == Code::STORE_IC) { 355 } else if (kind() == Code::STORE_IC) {
356 return code->ic_state() == MONOMORPHIC ? Logger::STORE_IC_TAG 356 return code->ic_state() == MONOMORPHIC ? Logger::STORE_IC_TAG
357 : Logger::STORE_POLYMORPHIC_IC_TAG; 357 : Logger::STORE_POLYMORPHIC_IC_TAG;
358 } else { 358 } else {
359 ASSERT_EQ(Code::KEYED_STORE_IC, kind()); 359 DCHECK_EQ(Code::KEYED_STORE_IC, kind());
360 return code->ic_state() == MONOMORPHIC 360 return code->ic_state() == MONOMORPHIC
361 ? Logger::KEYED_STORE_IC_TAG 361 ? Logger::KEYED_STORE_IC_TAG
362 : Logger::KEYED_STORE_POLYMORPHIC_IC_TAG; 362 : Logger::KEYED_STORE_POLYMORPHIC_IC_TAG;
363 } 363 }
364 } 364 }
365 365
366 const ExtraICState extra_ic_state_; 366 const ExtraICState extra_ic_state_;
367 }; 367 };
368 368
369 369
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 public: 635 public:
636 explicit CallOptimization(LookupResult* lookup); 636 explicit CallOptimization(LookupResult* lookup);
637 637
638 explicit CallOptimization(Handle<JSFunction> function); 638 explicit CallOptimization(Handle<JSFunction> function);
639 639
640 bool is_constant_call() const { 640 bool is_constant_call() const {
641 return !constant_function_.is_null(); 641 return !constant_function_.is_null();
642 } 642 }
643 643
644 Handle<JSFunction> constant_function() const { 644 Handle<JSFunction> constant_function() const {
645 ASSERT(is_constant_call()); 645 DCHECK(is_constant_call());
646 return constant_function_; 646 return constant_function_;
647 } 647 }
648 648
649 bool is_simple_api_call() const { 649 bool is_simple_api_call() const {
650 return is_simple_api_call_; 650 return is_simple_api_call_;
651 } 651 }
652 652
653 Handle<FunctionTemplateInfo> expected_receiver_type() const { 653 Handle<FunctionTemplateInfo> expected_receiver_type() const {
654 ASSERT(is_simple_api_call()); 654 DCHECK(is_simple_api_call());
655 return expected_receiver_type_; 655 return expected_receiver_type_;
656 } 656 }
657 657
658 Handle<CallHandlerInfo> api_call_info() const { 658 Handle<CallHandlerInfo> api_call_info() const {
659 ASSERT(is_simple_api_call()); 659 DCHECK(is_simple_api_call());
660 return api_call_info_; 660 return api_call_info_;
661 } 661 }
662 662
663 enum HolderLookup { 663 enum HolderLookup {
664 kHolderNotFound, 664 kHolderNotFound,
665 kHolderIsReceiver, 665 kHolderIsReceiver,
666 kHolderFound 666 kHolderFound
667 }; 667 };
668 Handle<JSObject> LookupHolderOfExpectedType( 668 Handle<JSObject> LookupHolderOfExpectedType(
669 Handle<Map> receiver_map, 669 Handle<Map> receiver_map,
(...skipping 13 matching lines...) Expand all
683 Handle<JSFunction> constant_function_; 683 Handle<JSFunction> constant_function_;
684 bool is_simple_api_call_; 684 bool is_simple_api_call_;
685 Handle<FunctionTemplateInfo> expected_receiver_type_; 685 Handle<FunctionTemplateInfo> expected_receiver_type_;
686 Handle<CallHandlerInfo> api_call_info_; 686 Handle<CallHandlerInfo> api_call_info_;
687 }; 687 };
688 688
689 689
690 } } // namespace v8::internal 690 } } // namespace v8::internal
691 691
692 #endif // V8_STUB_CACHE_H_ 692 #endif // V8_STUB_CACHE_H_
OLDNEW
« no previous file with comments | « src/strtod.cc ('k') | src/stub-cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698