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

Side by Side Diff: src/code-stub-assembler.cc

Issue 2690983002: [csa] Make CSA::Assert depend on --debug-code. (Closed)
Patch Set: Created 3 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 | « no previous file | 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 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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 #include "src/code-stub-assembler.h" 4 #include "src/code-stub-assembler.h"
5 #include "src/code-factory.h" 5 #include "src/code-factory.h"
6 #include "src/frames-inl.h" 6 #include "src/frames-inl.h"
7 #include "src/frames.h" 7 #include "src/frames.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 29 matching lines...) Expand all
40 // Bad node id. 40 // Bad node id.
41 return; 41 return;
42 } 42 }
43 BreakOnNode(node_id); 43 BreakOnNode(node_id);
44 } 44 }
45 45
46 void CodeStubAssembler::Assert(const NodeGenerator& codition_body, 46 void CodeStubAssembler::Assert(const NodeGenerator& codition_body,
47 const char* message, const char* file, 47 const char* message, const char* file,
48 int line) { 48 int line) {
49 #if defined(DEBUG) 49 #if defined(DEBUG)
50 Label ok(this); 50 if (FLAG_debug_code) {
51 Label not_ok(this, Label::kDeferred); 51 Label ok(this);
52 if (message != nullptr && FLAG_code_comments) { 52 Label not_ok(this, Label::kDeferred);
53 Comment("[ Assert: %s", message); 53 if (message != nullptr && FLAG_code_comments) {
54 } else { 54 Comment("[ Assert: %s", message);
55 Comment("[ Assert"); 55 } else {
56 Comment("[ Assert");
57 }
58 Node* condition = codition_body();
59 DCHECK_NOT_NULL(condition);
60 Branch(condition, &ok, &not_ok);
61 Bind(&not_ok);
62 if (message != nullptr) {
63 char chars[1024];
64 Vector<char> buffer(chars);
65 if (file != nullptr) {
66 SNPrintF(buffer, "CSA_ASSERT failed: %s [%s:%d]\n", message, file,
67 line);
68 } else {
69 SNPrintF(buffer, "CSA_ASSERT failed: %s\n", message);
70 }
71 CallRuntime(
72 Runtime::kGlobalPrint, SmiConstant(Smi::kZero),
73 HeapConstant(factory()->NewStringFromAsciiChecked(&(buffer[0]))));
74 }
75 DebugBreak();
76 Goto(&ok);
77 Bind(&ok);
78 Comment("] Assert");
56 } 79 }
57 Node* condition = codition_body();
58 DCHECK_NOT_NULL(condition);
59 Branch(condition, &ok, &not_ok);
60 Bind(&not_ok);
61 if (message != nullptr) {
62 char chars[1024];
63 Vector<char> buffer(chars);
64 if (file != nullptr) {
65 SNPrintF(buffer, "CSA_ASSERT failed: %s [%s:%d]\n", message, file, line);
66 } else {
67 SNPrintF(buffer, "CSA_ASSERT failed: %s\n", message);
68 }
69 CallRuntime(
70 Runtime::kGlobalPrint, SmiConstant(Smi::kZero),
71 HeapConstant(factory()->NewStringFromAsciiChecked(&(buffer[0]))));
72 }
73 DebugBreak();
74 Goto(&ok);
75 Bind(&ok);
76 Comment("] Assert");
77 #endif 80 #endif
78 } 81 }
79 82
80 Node* CodeStubAssembler::Select(Node* condition, const NodeGenerator& true_body, 83 Node* CodeStubAssembler::Select(Node* condition, const NodeGenerator& true_body,
81 const NodeGenerator& false_body, 84 const NodeGenerator& false_body,
82 MachineRepresentation rep) { 85 MachineRepresentation rep) {
83 Variable value(this, rep); 86 Variable value(this, rep);
84 Label vtrue(this), vfalse(this), end(this); 87 Label vtrue(this), vfalse(this), end(this);
85 Branch(condition, &vtrue, &vfalse); 88 Branch(condition, &vtrue, &vfalse);
86 89
(...skipping 8361 matching lines...) Expand 10 before | Expand all | Expand 10 after
8448 formatted.c_str(), TENURED); 8451 formatted.c_str(), TENURED);
8449 CallRuntime(Runtime::kGlobalPrint, NoContextConstant(), 8452 CallRuntime(Runtime::kGlobalPrint, NoContextConstant(),
8450 HeapConstant(string)); 8453 HeapConstant(string));
8451 } 8454 }
8452 CallRuntime(Runtime::kDebugPrint, NoContextConstant(), tagged_value); 8455 CallRuntime(Runtime::kDebugPrint, NoContextConstant(), tagged_value);
8453 #endif 8456 #endif
8454 } 8457 }
8455 8458
8456 } // namespace internal 8459 } // namespace internal
8457 } // namespace v8 8460 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698