Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |