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

Side by Side Diff: src/interpreter/interpreter-assembler.cc

Issue 2489743002: [stubs] Ensure CSA_ASSERT and CSA_SLOW_ASSERT do not produce unused instructions in release mode. (Closed)
Patch Set: ((void)0) Created 4 years, 1 month 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/code-stubs.cc ('k') | test/cctest/test-code-stub-assembler.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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/interpreter/interpreter-assembler.h" 5 #include "src/interpreter/interpreter-assembler.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <ostream> 8 #include <ostream>
9 9
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 1141 matching lines...) Expand 10 before | Expand all | Expand 10 after
1152 Word32Or(var_type_feedback->value(), 1152 Word32Or(var_type_feedback->value(),
1153 Int32Constant(BinaryOperationFeedback::kNumber))); 1153 Int32Constant(BinaryOperationFeedback::kNumber)));
1154 Goto(&done_loop); 1154 Goto(&done_loop);
1155 } 1155 }
1156 1156
1157 Bind(&if_valueisnotheapnumber); 1157 Bind(&if_valueisnotheapnumber);
1158 { 1158 {
1159 // We do not require an Or with earlier feedback here because once we 1159 // We do not require an Or with earlier feedback here because once we
1160 // convert the value to a number, we cannot reach this path. We can 1160 // convert the value to a number, we cannot reach this path. We can
1161 // only reach this path on the first pass when the feedback is kNone. 1161 // only reach this path on the first pass when the feedback is kNone.
1162 Assert(Word32Equal(var_type_feedback->value(), 1162 CSA_ASSERT(this,
1163 Int32Constant(BinaryOperationFeedback::kNone))); 1163 Word32Equal(var_type_feedback->value(),
1164 Int32Constant(BinaryOperationFeedback::kNone)));
1164 1165
1165 Label if_valueisoddball(this), 1166 Label if_valueisoddball(this),
1166 if_valueisnotoddball(this, Label::kDeferred); 1167 if_valueisnotoddball(this, Label::kDeferred);
1167 Node* is_oddball = Word32Equal(LoadMapInstanceType(value_map), 1168 Node* is_oddball = Word32Equal(LoadMapInstanceType(value_map),
1168 Int32Constant(ODDBALL_TYPE)); 1169 Int32Constant(ODDBALL_TYPE));
1169 Branch(is_oddball, &if_valueisoddball, &if_valueisnotoddball); 1170 Branch(is_oddball, &if_valueisoddball, &if_valueisnotoddball);
1170 1171
1171 Bind(&if_valueisoddball); 1172 Bind(&if_valueisoddball);
1172 { 1173 {
1173 // Convert Oddball to a Number and perform checks again. 1174 // Convert Oddball to a Number and perform checks again.
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 Goto(&loop); 1359 Goto(&loop);
1359 } 1360 }
1360 Bind(&done_loop); 1361 Bind(&done_loop);
1361 1362
1362 return array; 1363 return array;
1363 } 1364 }
1364 1365
1365 } // namespace interpreter 1366 } // namespace interpreter
1366 } // namespace internal 1367 } // namespace internal
1367 } // namespace v8 1368 } // namespace v8
OLDNEW
« no previous file with comments | « src/code-stubs.cc ('k') | test/cctest/test-code-stub-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698