Chromium Code Reviews| Index: src/ia32/codegen-ia32.cc |
| diff --git a/src/ia32/codegen-ia32.cc b/src/ia32/codegen-ia32.cc |
| index 74a343bf3930c671a680d30a2dcfa0f4b164ac2e..886377af06f3adfa59344bce33e8196ac62b7ffa 100644 |
| --- a/src/ia32/codegen-ia32.cc |
| +++ b/src/ia32/codegen-ia32.cc |
| @@ -10205,6 +10205,14 @@ void IntegerConvert(MacroAssembler* masm, |
| Label done, right_exponent, normal_exponent; |
| Register scratch = ebx; |
| Register scratch2 = edi; |
| + if (type_info.IsInteger32() && CpuFeatures::IsEnabled(SSE2)) { |
| + if (FLAG_debug_code) { |
| + // Do some testing to see that the type info is correct. |
|
William Hesse
2010/05/10 11:08:43
This comment should be a TODO, or it should actual
Lasse Reichstein
2010/05/10 11:20:44
Removed (I meant to but forgot, well spotted).
|
| + } |
| + CpuFeatures::Scope scope(SSE2); |
| + __ cvttsd2si(ecx, FieldOperand(source, HeapNumber::kValueOffset)); |
| + return; |
| + } |
| if (!type_info.IsInteger32() || !use_sse3) { |
| // Get exponent word. |
| __ mov(scratch, FieldOperand(source, HeapNumber::kExponentOffset)); |