Changeset 189136 in webkit for trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
- Timestamp:
- Aug 28, 2015, 6:57:05 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
r189130 r189136 1125 1125 Jump branch32(RelationalCondition cond, RegisterID left, TrustedImm32 right) 1126 1126 { 1127 if (((cond == Equal) || (cond == NotEqual)) && !right.m_value) 1127 if (!right.m_value && (cond == Equal || cond == NotEqual || cond == LessThan || cond == GreaterThanOrEqual)) { 1128 ResultCondition resultCondition; 1129 switch (cond) { 1130 case Equal: 1131 resultCondition = Zero; 1132 break; 1133 case NotEqual: 1134 resultCondition = NonZero; 1135 break; 1136 case LessThan: 1137 resultCondition = Signed; 1138 break; 1139 case GreaterThanOrEqual: 1140 resultCondition = PositiveOrZero; 1141 break; 1142 default: 1143 RELEASE_ASSERT_NOT_REACHED(); 1144 } 1128 1145 m_assembler.testl_rr(left, left); 1129 else 1130 m_assembler.cmpl_ir(right.m_value, left); 1146 return Jump(m_assembler.jCC(x86Condition(resultCondition))); 1147 } 1148 m_assembler.cmpl_ir(right.m_value, left); 1131 1149 return Jump(m_assembler.jCC(x86Condition(cond))); 1132 1150 } … … 1438 1456 void compare32(RelationalCondition cond, RegisterID left, TrustedImm32 right, RegisterID dest) 1439 1457 { 1440 if (((cond == Equal) || (cond == NotEqual)) && !right.m_value) 1458 if (!right.m_value && (cond == Equal || cond == NotEqual || cond == LessThan || cond == GreaterThanOrEqual)) { 1459 ResultCondition resultCondition; 1460 switch (cond) { 1461 case Equal: 1462 resultCondition = Zero; 1463 break; 1464 case NotEqual: 1465 resultCondition = NonZero; 1466 break; 1467 case LessThan: 1468 resultCondition = Signed; 1469 break; 1470 case GreaterThanOrEqual: 1471 resultCondition = PositiveOrZero; 1472 break; 1473 default: 1474 RELEASE_ASSERT_NOT_REACHED(); 1475 } 1441 1476 m_assembler.testl_rr(left, left); 1442 else 1443 m_assembler.cmpl_ir(right.m_value, left); 1477 set32(x86Condition(resultCondition), dest); 1478 return; 1479 } 1480 m_assembler.cmpl_ir(right.m_value, left); 1444 1481 set32(x86Condition(cond), dest); 1445 1482 }
Note:
See TracChangeset
for help on using the changeset viewer.