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

Side by Side Diff: src/ic/ic-state.cc

Issue 1216463003: [strong] Implement strong mode semantics for the count operation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: cl feedback + eliminate runtime check Created 5 years, 5 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/ia32/full-codegen-ia32.cc ('k') | src/messages.h » ('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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/ic/ic.h" 7 #include "src/ic/ic.h"
8 #include "src/ic/ic-state.h" 8 #include "src/ic/ic-state.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 return Type::Unsigned32(zone); 216 return Type::Unsigned32(zone);
217 } 217 }
218 DCHECK_NE(GENERIC, result_kind); 218 DCHECK_NE(GENERIC, result_kind);
219 return KindToType(result_kind, zone); 219 return KindToType(result_kind, zone);
220 } 220 }
221 221
222 222
223 std::ostream& operator<<(std::ostream& os, const BinaryOpICState& s) { 223 std::ostream& operator<<(std::ostream& os, const BinaryOpICState& s) {
224 os << "(" << Token::Name(s.op_); 224 os << "(" << Token::Name(s.op_);
225 if (s.CouldCreateAllocationMementos()) os << "_CreateAllocationMementos"; 225 if (s.CouldCreateAllocationMementos()) os << "_CreateAllocationMementos";
226 if (is_strong(s.strength())) os << "_Strong";
226 os << ":" << BinaryOpICState::KindToString(s.left_kind_) << "*"; 227 os << ":" << BinaryOpICState::KindToString(s.left_kind_) << "*";
227 if (s.fixed_right_arg_.IsJust()) { 228 if (s.fixed_right_arg_.IsJust()) {
228 os << s.fixed_right_arg_.FromJust(); 229 os << s.fixed_right_arg_.FromJust();
229 } else { 230 } else {
230 os << BinaryOpICState::KindToString(s.right_kind_); 231 os << BinaryOpICState::KindToString(s.right_kind_);
231 } 232 }
232 return os << "->" << BinaryOpICState::KindToString(s.result_kind_) << ")"; 233 return os << "->" << BinaryOpICState::KindToString(s.result_kind_) << ")";
233 } 234 }
234 235
235 236
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 case UNIQUE_NAME: 506 case UNIQUE_NAME:
506 case OBJECT: 507 case OBJECT:
507 case GENERIC: 508 case GENERIC:
508 return GENERIC; 509 return GENERIC;
509 } 510 }
510 UNREACHABLE(); 511 UNREACHABLE();
511 return GENERIC; // Make the compiler happy. 512 return GENERIC; // Make the compiler happy.
512 } 513 }
513 } // namespace internal 514 } // namespace internal
514 } // namespace v8 515 } // namespace v8
OLDNEW
« no previous file with comments | « src/ia32/full-codegen-ia32.cc ('k') | src/messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698