| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
| 6 | 6 |
| 7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
| 10 #include "src/compiler/node-properties-inl.h" | 10 #include "src/compiler/node-properties-inl.h" |
| (...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1035 break; | 1035 break; |
| 1036 case kSignedGreaterThanOrEqual: | 1036 case kSignedGreaterThanOrEqual: |
| 1037 __ j(greater_equal, tlabel); | 1037 __ j(greater_equal, tlabel); |
| 1038 break; | 1038 break; |
| 1039 case kSignedLessThanOrEqual: | 1039 case kSignedLessThanOrEqual: |
| 1040 __ j(less_equal, tlabel); | 1040 __ j(less_equal, tlabel); |
| 1041 break; | 1041 break; |
| 1042 case kSignedGreaterThan: | 1042 case kSignedGreaterThan: |
| 1043 __ j(greater, tlabel); | 1043 __ j(greater, tlabel); |
| 1044 break; | 1044 break; |
| 1045 case kUnorderedLessThan: | |
| 1046 __ j(parity_even, flabel, flabel_distance); | |
| 1047 // Fall through. | |
| 1048 case kUnsignedLessThan: | 1045 case kUnsignedLessThan: |
| 1049 __ j(below, tlabel); | 1046 __ j(below, tlabel); |
| 1050 break; | 1047 break; |
| 1051 case kUnorderedGreaterThanOrEqual: | |
| 1052 __ j(parity_even, tlabel); | |
| 1053 // Fall through. | |
| 1054 case kUnsignedGreaterThanOrEqual: | 1048 case kUnsignedGreaterThanOrEqual: |
| 1055 __ j(above_equal, tlabel); | 1049 __ j(above_equal, tlabel); |
| 1056 break; | 1050 break; |
| 1057 case kUnorderedLessThanOrEqual: | |
| 1058 __ j(parity_even, flabel, flabel_distance); | |
| 1059 // Fall through. | |
| 1060 case kUnsignedLessThanOrEqual: | 1051 case kUnsignedLessThanOrEqual: |
| 1061 __ j(below_equal, tlabel); | 1052 __ j(below_equal, tlabel); |
| 1062 break; | 1053 break; |
| 1063 case kUnorderedGreaterThan: | |
| 1064 __ j(parity_even, tlabel); | |
| 1065 // Fall through. | |
| 1066 case kUnsignedGreaterThan: | 1054 case kUnsignedGreaterThan: |
| 1067 __ j(above, tlabel); | 1055 __ j(above, tlabel); |
| 1068 break; | 1056 break; |
| 1069 case kOverflow: | 1057 case kOverflow: |
| 1070 __ j(overflow, tlabel); | 1058 __ j(overflow, tlabel); |
| 1071 break; | 1059 break; |
| 1072 case kNotOverflow: | 1060 case kNotOverflow: |
| 1073 __ j(no_overflow, tlabel); | 1061 __ j(no_overflow, tlabel); |
| 1074 break; | 1062 break; |
| 1075 } | 1063 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1116 break; | 1104 break; |
| 1117 case kSignedGreaterThanOrEqual: | 1105 case kSignedGreaterThanOrEqual: |
| 1118 cc = greater_equal; | 1106 cc = greater_equal; |
| 1119 break; | 1107 break; |
| 1120 case kSignedLessThanOrEqual: | 1108 case kSignedLessThanOrEqual: |
| 1121 cc = less_equal; | 1109 cc = less_equal; |
| 1122 break; | 1110 break; |
| 1123 case kSignedGreaterThan: | 1111 case kSignedGreaterThan: |
| 1124 cc = greater; | 1112 cc = greater; |
| 1125 break; | 1113 break; |
| 1126 case kUnorderedLessThan: | |
| 1127 __ j(parity_odd, &check, Label::kNear); | |
| 1128 __ movl(reg, Immediate(0)); | |
| 1129 __ jmp(&done, Label::kNear); | |
| 1130 // Fall through. | |
| 1131 case kUnsignedLessThan: | 1114 case kUnsignedLessThan: |
| 1132 cc = below; | 1115 cc = below; |
| 1133 break; | 1116 break; |
| 1134 case kUnorderedGreaterThanOrEqual: | |
| 1135 __ j(parity_odd, &check, Label::kNear); | |
| 1136 __ movl(reg, Immediate(1)); | |
| 1137 __ jmp(&done, Label::kNear); | |
| 1138 // Fall through. | |
| 1139 case kUnsignedGreaterThanOrEqual: | 1117 case kUnsignedGreaterThanOrEqual: |
| 1140 cc = above_equal; | 1118 cc = above_equal; |
| 1141 break; | 1119 break; |
| 1142 case kUnorderedLessThanOrEqual: | |
| 1143 __ j(parity_odd, &check, Label::kNear); | |
| 1144 __ movl(reg, Immediate(0)); | |
| 1145 __ jmp(&done, Label::kNear); | |
| 1146 // Fall through. | |
| 1147 case kUnsignedLessThanOrEqual: | 1120 case kUnsignedLessThanOrEqual: |
| 1148 cc = below_equal; | 1121 cc = below_equal; |
| 1149 break; | 1122 break; |
| 1150 case kUnorderedGreaterThan: | |
| 1151 __ j(parity_odd, &check, Label::kNear); | |
| 1152 __ movl(reg, Immediate(1)); | |
| 1153 __ jmp(&done, Label::kNear); | |
| 1154 // Fall through. | |
| 1155 case kUnsignedGreaterThan: | 1123 case kUnsignedGreaterThan: |
| 1156 cc = above; | 1124 cc = above; |
| 1157 break; | 1125 break; |
| 1158 case kOverflow: | 1126 case kOverflow: |
| 1159 cc = overflow; | 1127 cc = overflow; |
| 1160 break; | 1128 break; |
| 1161 case kNotOverflow: | 1129 case kNotOverflow: |
| 1162 cc = no_overflow; | 1130 cc = no_overflow; |
| 1163 break; | 1131 break; |
| 1164 } | 1132 } |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1432 } | 1400 } |
| 1433 } | 1401 } |
| 1434 MarkLazyDeoptSite(); | 1402 MarkLazyDeoptSite(); |
| 1435 } | 1403 } |
| 1436 | 1404 |
| 1437 #undef __ | 1405 #undef __ |
| 1438 | 1406 |
| 1439 } // namespace internal | 1407 } // namespace internal |
| 1440 } // namespace compiler | 1408 } // namespace compiler |
| 1441 } // namespace v8 | 1409 } // namespace v8 |
| OLD | NEW |