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

Side by Side Diff: src/compiler/verifier.cc

Issue 1847543002: Expose a lower bound of malloc'd memory via heap statistics (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updates Created 4 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
« no previous file with comments | « src/compiler/select-lowering.cc ('k') | src/compiler/wasm-compiler.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/compiler/verifier.h" 5 #include "src/compiler/verifier.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <deque> 8 #include <deque>
9 #include <queue> 9 #include <queue>
10 #include <sstream> 10 #include <sstream>
(...skipping 961 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 case IrOpcode::kCheckedStore: 972 case IrOpcode::kCheckedStore:
973 // TODO(rossberg): Check. 973 // TODO(rossberg): Check.
974 break; 974 break;
975 } 975 }
976 } // NOLINT(readability/fn_size) 976 } // NOLINT(readability/fn_size)
977 977
978 978
979 void Verifier::Run(Graph* graph, Typing typing) { 979 void Verifier::Run(Graph* graph, Typing typing) {
980 CHECK_NOT_NULL(graph->start()); 980 CHECK_NOT_NULL(graph->start());
981 CHECK_NOT_NULL(graph->end()); 981 CHECK_NOT_NULL(graph->end());
982 Zone zone; 982 Zone zone(graph->zone()->allocator());
983 Visitor visitor(&zone, typing); 983 Visitor visitor(&zone, typing);
984 AllNodes all(&zone, graph); 984 AllNodes all(&zone, graph);
985 for (Node* node : all.live) visitor.Check(node); 985 for (Node* node : all.live) visitor.Check(node);
986 986
987 // Check the uniqueness of projections. 987 // Check the uniqueness of projections.
988 for (Node* proj : all.live) { 988 for (Node* proj : all.live) {
989 if (proj->opcode() != IrOpcode::kProjection) continue; 989 if (proj->opcode() != IrOpcode::kProjection) continue;
990 Node* node = proj->InputAt(0); 990 Node* node = proj->InputAt(0);
991 for (Node* other : node->uses()) { 991 for (Node* other : node->uses()) {
992 if (all.IsLive(other) && other != proj && 992 if (all.IsLive(other) && other != proj &&
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1062 "Node #%d:%s in B%d is not dominated by control input #%d:%s", 1062 "Node #%d:%s in B%d is not dominated by control input #%d:%s",
1063 node->id(), node->op()->mnemonic(), block->rpo_number(), 1063 node->id(), node->op()->mnemonic(), block->rpo_number(),
1064 ctl->id(), ctl->op()->mnemonic()); 1064 ctl->id(), ctl->op()->mnemonic());
1065 } 1065 }
1066 } 1066 }
1067 } 1067 }
1068 1068
1069 1069
1070 void ScheduleVerifier::Run(Schedule* schedule) { 1070 void ScheduleVerifier::Run(Schedule* schedule) {
1071 const size_t count = schedule->BasicBlockCount(); 1071 const size_t count = schedule->BasicBlockCount();
1072 Zone tmp_zone; 1072 Zone tmp_zone(schedule->zone()->allocator());
1073 Zone* zone = &tmp_zone; 1073 Zone* zone = &tmp_zone;
1074 BasicBlock* start = schedule->start(); 1074 BasicBlock* start = schedule->start();
1075 BasicBlockVector* rpo_order = schedule->rpo_order(); 1075 BasicBlockVector* rpo_order = schedule->rpo_order();
1076 1076
1077 // Verify the RPO order contains only blocks from this schedule. 1077 // Verify the RPO order contains only blocks from this schedule.
1078 CHECK_GE(count, rpo_order->size()); 1078 CHECK_GE(count, rpo_order->size());
1079 for (BasicBlockVector::iterator b = rpo_order->begin(); b != rpo_order->end(); 1079 for (BasicBlockVector::iterator b = rpo_order->begin(); b != rpo_order->end();
1080 ++b) { 1080 ++b) {
1081 CHECK_EQ((*b), schedule->GetBlockById((*b)->id())); 1081 CHECK_EQ((*b), schedule->GetBlockById((*b)->id()));
1082 // All predecessors and successors should be in rpo and in this schedule. 1082 // All predecessors and successors should be in rpo and in this schedule.
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 replacement->op()->EffectOutputCount() > 0); 1293 replacement->op()->EffectOutputCount() > 0);
1294 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || 1294 DCHECK(!NodeProperties::IsFrameStateEdge(edge) ||
1295 replacement->opcode() == IrOpcode::kFrameState); 1295 replacement->opcode() == IrOpcode::kFrameState);
1296 } 1296 }
1297 1297
1298 #endif // DEBUG 1298 #endif // DEBUG
1299 1299
1300 } // namespace compiler 1300 } // namespace compiler
1301 } // namespace internal 1301 } // namespace internal
1302 } // namespace v8 1302 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/select-lowering.cc ('k') | src/compiler/wasm-compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698