| 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/ast/scopes.h" | 7 #include "src/ast/scopes.h" | 
| 8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" | 
| 9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" | 
| 10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" | 
| (...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 720       } | 720       } | 
| 721       __ sbb(i.InputRegister(1), Operand(i.InputRegister(3))); | 721       __ sbb(i.InputRegister(1), Operand(i.InputRegister(3))); | 
| 722       if (i.OutputRegister(1).code() != i.InputRegister(1).code()) { | 722       if (i.OutputRegister(1).code() != i.InputRegister(1).code()) { | 
| 723         __ Move(i.OutputRegister(1), i.InputRegister(1)); | 723         __ Move(i.OutputRegister(1), i.InputRegister(1)); | 
| 724       } | 724       } | 
| 725       if (use_temp) { | 725       if (use_temp) { | 
| 726         __ Move(i.OutputRegister(0), i.TempRegister(0)); | 726         __ Move(i.OutputRegister(0), i.TempRegister(0)); | 
| 727       } | 727       } | 
| 728       break; | 728       break; | 
| 729     } | 729     } | 
|  | 730     case kIA32MulPair: { | 
|  | 731       __ imul(i.OutputRegister(1), i.InputOperand(0)); | 
|  | 732       __ mov(i.TempRegister(0), i.InputOperand(1)); | 
|  | 733       __ imul(i.TempRegister(0), i.InputOperand(2)); | 
|  | 734       __ add(i.OutputRegister(1), i.TempRegister(0)); | 
|  | 735       __ mov(i.OutputRegister(0), i.InputOperand(0)); | 
|  | 736       // Multiplies the low words and stores them in eax and edx. | 
|  | 737       __ mul(i.InputRegister(2)); | 
|  | 738       __ add(i.OutputRegister(1), i.TempRegister(0)); | 
|  | 739 | 
|  | 740       break; | 
|  | 741     } | 
| 730     case kIA32ShlPair: | 742     case kIA32ShlPair: | 
| 731       if (HasImmediateInput(instr, 2)) { | 743       if (HasImmediateInput(instr, 2)) { | 
| 732         __ ShlPair(i.InputRegister(1), i.InputRegister(0), i.InputInt6(2)); | 744         __ ShlPair(i.InputRegister(1), i.InputRegister(0), i.InputInt6(2)); | 
| 733       } else { | 745       } else { | 
| 734         // Shift has been loaded into CL by the register allocator. | 746         // Shift has been loaded into CL by the register allocator. | 
| 735         __ ShlPair_cl(i.InputRegister(1), i.InputRegister(0)); | 747         __ ShlPair_cl(i.InputRegister(1), i.InputRegister(0)); | 
| 736       } | 748       } | 
| 737       break; | 749       break; | 
| 738     case kIA32ShrPair: | 750     case kIA32ShrPair: | 
| 739       if (HasImmediateInput(instr, 2)) { | 751       if (HasImmediateInput(instr, 2)) { | 
| (...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1874     int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 1886     int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 
| 1875     __ Nop(padding_size); | 1887     __ Nop(padding_size); | 
| 1876   } | 1888   } | 
| 1877 } | 1889 } | 
| 1878 | 1890 | 
| 1879 #undef __ | 1891 #undef __ | 
| 1880 | 1892 | 
| 1881 }  // namespace compiler | 1893 }  // namespace compiler | 
| 1882 }  // namespace internal | 1894 }  // namespace internal | 
| 1883 }  // namespace v8 | 1895 }  // namespace v8 | 
| OLD | NEW | 
|---|