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

Side by Side Diff: runtime/vm/intermediate_language.cc

Issue 21885003: Enables unboxed mints in ia32 javascript int compatability mode. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bigint_operations.h" 7 #include "vm/bigint_operations.h"
8 #include "vm/bit_vector.h" 8 #include "vm/bit_vector.h"
9 #include "vm/dart_entry.h" 9 #include "vm/dart_entry.h"
10 #include "vm/flow_graph_allocator.h" 10 #include "vm/flow_graph_allocator.h"
(...skipping 1058 matching lines...) Expand 10 before | Expand all | Expand 10 after
1069 1069
1070 bool EqualityCompareInstr::IsCheckedStrictEqual() const { 1070 bool EqualityCompareInstr::IsCheckedStrictEqual() const {
1071 if (!HasICData()) return false; 1071 if (!HasICData()) return false;
1072 return ic_data()->AllTargetsHaveSameOwner(kInstanceCid) && 1072 return ic_data()->AllTargetsHaveSameOwner(kInstanceCid) &&
1073 (unary_ic_data_->NumberOfChecks() <= 1073 (unary_ic_data_->NumberOfChecks() <=
1074 FLAG_max_equality_polymorphic_checks); 1074 FLAG_max_equality_polymorphic_checks);
1075 } 1075 }
1076 1076
1077 1077
1078 bool BinarySmiOpInstr::CanDeoptimize() const { 1078 bool BinarySmiOpInstr::CanDeoptimize() const {
1079 #if defined(TARGET_ARCH_X64)
1079 if (FLAG_throw_on_javascript_int_overflow) return true; 1080 if (FLAG_throw_on_javascript_int_overflow) return true;
srdjan 2013/08/02 18:07:22 Instead of the architecture specific ifdef you cou
zra 2013/08/02 18:30:27 Done.
1081 #endif
1080 switch (op_kind()) { 1082 switch (op_kind()) {
1081 case Token::kBIT_AND: 1083 case Token::kBIT_AND:
1082 case Token::kBIT_OR: 1084 case Token::kBIT_OR:
1083 case Token::kBIT_XOR: 1085 case Token::kBIT_XOR:
1084 return false; 1086 return false;
1085 case Token::kSHR: { 1087 case Token::kSHR: {
1086 // Can't deopt if shift-count is known positive. 1088 // Can't deopt if shift-count is known positive.
1087 Range* right_range = this->right()->definition()->range(); 1089 Range* right_range = this->right()->definition()->range();
1088 return (right_range == NULL) 1090 return (right_range == NULL)
1089 || !right_range->IsWithin(0, RangeBoundary::kPlusInfinity); 1091 || !right_range->IsWithin(0, RangeBoundary::kPlusInfinity);
(...skipping 1514 matching lines...) Expand 10 before | Expand all | Expand 10 after
2604 default: 2606 default:
2605 UNREACHABLE(); 2607 UNREACHABLE();
2606 } 2608 }
2607 return kPowRuntimeEntry; 2609 return kPowRuntimeEntry;
2608 } 2610 }
2609 2611
2610 2612
2611 #undef __ 2613 #undef __
2612 2614
2613 } // namespace dart 2615 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698