| OLD | NEW | 
|     1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file |     1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|     2 // for details. All rights reserved. Use of this source code is governed by a |     2 // for details. All rights reserved. Use of this source code is governed by a | 
|     3 // BSD-style license that can be found in the LICENSE file. |     3 // BSD-style license that can be found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "vm/globals.h"  // Needed here to get TARGET_ARCH_IA32. |     5 #include "vm/globals.h"  // Needed here to get TARGET_ARCH_IA32. | 
|     6 #if defined(TARGET_ARCH_IA32) |     6 #if defined(TARGET_ARCH_IA32) | 
|     7  |     7  | 
|     8 #include "vm/intermediate_language.h" |     8 #include "vm/intermediate_language.h" | 
|     9  |     9  | 
|    10 #include "vm/compiler.h" |    10 #include "vm/compiler.h" | 
| (...skipping 2746 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2757     __ shll(left, right); |  2757     __ shll(left, right); | 
|  2758     __ sarl(left, right); |  2758     __ sarl(left, right); | 
|  2759     __ cmpl(left, temp); |  2759     __ cmpl(left, temp); | 
|  2760     __ j(NOT_EQUAL, deopt);  // Overflow. |  2760     __ j(NOT_EQUAL, deopt);  // Overflow. | 
|  2761     // Shift for result now we know there is no overflow. |  2761     // Shift for result now we know there is no overflow. | 
|  2762     __ shll(left, right); |  2762     __ shll(left, right); | 
|  2763   } |  2763   } | 
|  2764 } |  2764 } | 
|  2765  |  2765  | 
|  2766  |  2766  | 
 |  2767 LocationSummary* CheckedSmiOpInstr::MakeLocationSummary(Zone* zone, | 
 |  2768                                                         bool opt) const { | 
 |  2769   // Only for precompiled code, not on ia32 currently. | 
 |  2770   UNIMPLEMENTED(); | 
 |  2771   return NULL; | 
 |  2772 } | 
 |  2773  | 
 |  2774  | 
 |  2775 void CheckedSmiOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { | 
 |  2776   // Only for precompiled code, not on ia32 currently. | 
 |  2777   UNIMPLEMENTED(); | 
 |  2778 } | 
 |  2779  | 
|  2767 LocationSummary* BinarySmiOpInstr::MakeLocationSummary(Zone* zone, |  2780 LocationSummary* BinarySmiOpInstr::MakeLocationSummary(Zone* zone, | 
|  2768                                                        bool opt) const { |  2781                                                        bool opt) const { | 
|  2769   const intptr_t kNumInputs = 2; |  2782   const intptr_t kNumInputs = 2; | 
|  2770   if (op_kind() == Token::kTRUNCDIV) { |  2783   if (op_kind() == Token::kTRUNCDIV) { | 
|  2771     const intptr_t kNumTemps = 1; |  2784     const intptr_t kNumTemps = 1; | 
|  2772     LocationSummary* summary = new(zone) LocationSummary( |  2785     LocationSummary* summary = new(zone) LocationSummary( | 
|  2773         zone, kNumInputs, kNumTemps, LocationSummary::kNoCall); |  2786         zone, kNumInputs, kNumTemps, LocationSummary::kNoCall); | 
|  2774     if (RightIsPowerOfTwoConstant()) { |  2787     if (RightIsPowerOfTwoConstant()) { | 
|  2775       summary->set_in(0, Location::RequiresRegister()); |  2788       summary->set_in(0, Location::RequiresRegister()); | 
|  2776       ConstantInstr* right_constant = right()->definition()->AsConstant(); |  2789       ConstantInstr* right_constant = right()->definition()->AsConstant(); | 
| (...skipping 4056 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  6833   __ Drop(1); |  6846   __ Drop(1); | 
|  6834   __ popl(result); |  6847   __ popl(result); | 
|  6835 } |  6848 } | 
|  6836  |  6849  | 
|  6837  |  6850  | 
|  6838 }  // namespace dart |  6851 }  // namespace dart | 
|  6839  |  6852  | 
|  6840 #undef __ |  6853 #undef __ | 
|  6841  |  6854  | 
|  6842 #endif  // defined TARGET_ARCH_IA32 |  6855 #endif  // defined TARGET_ARCH_IA32 | 
| OLD | NEW |