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

Side by Side Diff: src/ic/stub-cache.cc

Issue 2887783002: [gn] Allow building a snapshot with unwinding information. (Closed)
Patch Set: Fix assertion in stub-cache.cc Created 3 years, 7 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 | « BUILD.gn ('k') | src/setup-isolate-deserialize.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 #include "src/ic/stub-cache.h" 5 #include "src/ic/stub-cache.h"
6 6
7 #include "src/ast/ast.h" 7 #include "src/ast/ast.h"
8 #include "src/base/bits.h" 8 #include "src/base/bits.h"
9 #include "src/counters.h" 9 #include "src/counters.h"
10 #include "src/heap/heap.h" 10 #include "src/heap/heap.h"
(...skipping 23 matching lines...) Expand all
34 Object* handler) { 34 Object* handler) {
35 // Validate that the name and handler do not move on scavenge, and that we 35 // Validate that the name and handler do not move on scavenge, and that we
36 // can use identity checks instead of structural equality checks. 36 // can use identity checks instead of structural equality checks.
37 DCHECK(!name->GetHeap()->InNewSpace(name)); 37 DCHECK(!name->GetHeap()->InNewSpace(name));
38 DCHECK(!name->GetHeap()->InNewSpace(handler)); 38 DCHECK(!name->GetHeap()->InNewSpace(handler));
39 DCHECK(name->IsUniqueName()); 39 DCHECK(name->IsUniqueName());
40 DCHECK(name->HasHashCode()); 40 DCHECK(name->HasHashCode());
41 if (handler) { 41 if (handler) {
42 DCHECK(IC::IsHandler(handler)); 42 DCHECK(IC::IsHandler(handler));
43 if (handler->IsCode()) { 43 if (handler->IsCode()) {
44 Code* code = Code::cast(handler); 44 Code::Flags code_flags = Code::cast(handler)->flags();
45 Code::Flags expected_flags = 45 Code::Kind ic_code_kind = stub_cache->ic_kind();
46 Code::ComputeHandlerFlags(stub_cache->ic_kind()); 46 DCHECK_EQ(ic_code_kind, Code::ExtractExtraICStateFromFlags(code_flags));
47 Code::Flags flags = code->flags(); 47 DCHECK_EQ(Code::HANDLER, Code::ExtractKindFromFlags(code_flags));
48 DCHECK_EQ(expected_flags, flags);
49 DCHECK_EQ(Code::HANDLER, Code::ExtractKindFromFlags(code->flags()));
50 } 48 }
51 } 49 }
52 return true; 50 return true;
53 } 51 }
54 52
55 } // namespace 53 } // namespace
56 #endif 54 #endif
57 55
58 Object* StubCache::Set(Name* name, Map* map, Object* handler) { 56 Object* StubCache::Set(Name* name, Map* map, Object* handler) {
59 DCHECK(CommonStubCacheChecks(this, name, map, handler)); 57 DCHECK(CommonStubCacheChecks(this, name, map, handler));
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 } 104 }
107 for (int j = 0; j < kSecondaryTableSize; j++) { 105 for (int j = 0; j < kSecondaryTableSize; j++) {
108 secondary_[j].key = isolate()->heap()->empty_string(); 106 secondary_[j].key = isolate()->heap()->empty_string();
109 secondary_[j].map = nullptr; 107 secondary_[j].map = nullptr;
110 secondary_[j].value = empty; 108 secondary_[j].value = empty;
111 } 109 }
112 } 110 }
113 111
114 } // namespace internal 112 } // namespace internal
115 } // namespace v8 113 } // namespace v8
OLDNEW
« no previous file with comments | « BUILD.gn ('k') | src/setup-isolate-deserialize.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698