Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index f1a587f1103b2533e23947817e2252c901ebc7bb..c672a7938b9cf99799da8fd6f310c6aaaa2c47d6 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -3708,8 +3708,7 @@ void LCodeGen::DoMathRound(LMathRound* instr) { |
__ cvttsd2si(output_reg, Operand(xmm_scratch)); |
// Overflow is signalled with minint. |
__ cmp(output_reg, 0x1); |
- __ RecordComment("D2I conversion overflow"); |
- DeoptimizeIf(overflow, instr); |
+ DeoptimizeIf(overflow, instr, "conversion overflow"); |
__ jmp(&done, dist); |
__ bind(&below_one_half); |
@@ -3724,8 +3723,7 @@ void LCodeGen::DoMathRound(LMathRound* instr) { |
__ cvttsd2si(output_reg, Operand(input_temp)); |
// Catch minint due to overflow, and to prevent overflow when compensating. |
__ cmp(output_reg, 0x1); |
- __ RecordComment("D2I conversion overflow"); |
- DeoptimizeIf(overflow, instr); |
+ DeoptimizeIf(overflow, instr, "conversion overflow"); |
__ Cvtsi2sd(xmm_scratch, output_reg); |
__ ucomisd(xmm_scratch, input_temp); |
@@ -3741,8 +3739,7 @@ void LCodeGen::DoMathRound(LMathRound* instr) { |
// If the sign is positive, we return +0. |
__ movmskpd(output_reg, input_reg); |
__ test(output_reg, Immediate(1)); |
- __ RecordComment("Minus zero"); |
- DeoptimizeIf(not_zero, instr); |
+ DeoptimizeIf(not_zero, instr, "minus zero"); |
} |
__ Move(output_reg, Immediate(0)); |
__ bind(&done); |
@@ -4762,31 +4759,26 @@ void LCodeGen::DoDeferredTaggedToI(LTaggedToI* instr, Label* done) { |
__ bind(&check_false); |
__ cmp(input_reg, factory()->false_value()); |
- __ RecordComment("Deferred TaggedToI: cannot truncate"); |
- DeoptimizeIf(not_equal, instr); |
+ DeoptimizeIf(not_equal, instr, "cannot truncate"); |
__ Move(input_reg, Immediate(0)); |
} else { |
XMMRegister scratch = ToDoubleRegister(instr->temp()); |
DCHECK(!scratch.is(xmm0)); |
__ cmp(FieldOperand(input_reg, HeapObject::kMapOffset), |
isolate()->factory()->heap_number_map()); |
- __ RecordComment("Deferred TaggedToI: not a heap number"); |
- DeoptimizeIf(not_equal, instr); |
+ DeoptimizeIf(not_equal, instr, "not a heap number"); |
__ movsd(xmm0, FieldOperand(input_reg, HeapNumber::kValueOffset)); |
__ cvttsd2si(input_reg, Operand(xmm0)); |
__ Cvtsi2sd(scratch, Operand(input_reg)); |
__ ucomisd(xmm0, scratch); |
- __ RecordComment("Deferred TaggedToI: lost precision"); |
- DeoptimizeIf(not_equal, instr); |
- __ RecordComment("Deferred TaggedToI: NaN"); |
- DeoptimizeIf(parity_even, instr); |
+ DeoptimizeIf(not_equal, instr, "lost precision"); |
+ DeoptimizeIf(parity_even, instr, "NaN"); |
if (instr->hydrogen()->GetMinusZeroMode() == FAIL_ON_MINUS_ZERO) { |
__ test(input_reg, Operand(input_reg)); |
__ j(not_zero, done); |
__ movmskpd(input_reg, xmm0); |
__ and_(input_reg, 1); |
- __ RecordComment("Deferred TaggedToI: minus zero"); |
- DeoptimizeIf(not_zero, instr); |
+ DeoptimizeIf(not_zero, instr, "minus zero"); |
} |
} |
} |