OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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/instruction-selector.h" | 5 #include "src/compiler/instruction-selector.h" |
6 | 6 |
7 #include "src/compiler/instruction-selector-impl.h" | 7 #include "src/compiler/instruction-selector-impl.h" |
8 #include "src/compiler/node-matchers.h" | 8 #include "src/compiler/node-matchers.h" |
9 #include "src/compiler/node-properties-inl.h" | 9 #include "src/compiler/node-properties-inl.h" |
10 | 10 |
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
551 case IrOpcode::kInt64LessThan: | 551 case IrOpcode::kInt64LessThan: |
552 return VisitInt64LessThan(node); | 552 return VisitInt64LessThan(node); |
553 case IrOpcode::kInt64LessThanOrEqual: | 553 case IrOpcode::kInt64LessThanOrEqual: |
554 return VisitInt64LessThanOrEqual(node); | 554 return VisitInt64LessThanOrEqual(node); |
555 case IrOpcode::kConvertInt32ToInt64: | 555 case IrOpcode::kConvertInt32ToInt64: |
556 return VisitConvertInt32ToInt64(node); | 556 return VisitConvertInt32ToInt64(node); |
557 case IrOpcode::kConvertInt64ToInt32: | 557 case IrOpcode::kConvertInt64ToInt32: |
558 return VisitConvertInt64ToInt32(node); | 558 return VisitConvertInt64ToInt32(node); |
559 case IrOpcode::kConvertInt32ToFloat64: | 559 case IrOpcode::kConvertInt32ToFloat64: |
560 return MarkAsDouble(node), VisitConvertInt32ToFloat64(node); | 560 return MarkAsDouble(node), VisitConvertInt32ToFloat64(node); |
| 561 case IrOpcode::kConvertUint32ToFloat64: |
| 562 return MarkAsDouble(node), VisitConvertUint32ToFloat64(node); |
561 case IrOpcode::kConvertFloat64ToInt32: | 563 case IrOpcode::kConvertFloat64ToInt32: |
562 return VisitConvertFloat64ToInt32(node); | 564 return VisitConvertFloat64ToInt32(node); |
| 565 case IrOpcode::kConvertFloat64ToUint32: |
| 566 return VisitConvertFloat64ToUint32(node); |
563 case IrOpcode::kFloat64Add: | 567 case IrOpcode::kFloat64Add: |
564 return MarkAsDouble(node), VisitFloat64Add(node); | 568 return MarkAsDouble(node), VisitFloat64Add(node); |
565 case IrOpcode::kFloat64Sub: | 569 case IrOpcode::kFloat64Sub: |
566 return MarkAsDouble(node), VisitFloat64Sub(node); | 570 return MarkAsDouble(node), VisitFloat64Sub(node); |
567 case IrOpcode::kFloat64Mul: | 571 case IrOpcode::kFloat64Mul: |
568 return MarkAsDouble(node), VisitFloat64Mul(node); | 572 return MarkAsDouble(node), VisitFloat64Mul(node); |
569 case IrOpcode::kFloat64Div: | 573 case IrOpcode::kFloat64Div: |
570 return MarkAsDouble(node), VisitFloat64Div(node); | 574 return MarkAsDouble(node), VisitFloat64Div(node); |
571 case IrOpcode::kFloat64Mod: | 575 case IrOpcode::kFloat64Mod: |
572 return MarkAsDouble(node), VisitFloat64Mod(node); | 576 return MarkAsDouble(node), VisitFloat64Mod(node); |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
864 FrameStateDescriptor descriptor = OpParameter<FrameStateDescriptor>(state); | 868 FrameStateDescriptor descriptor = OpParameter<FrameStateDescriptor>(state); |
865 // TODO(jarin) We should also add an instruction input for every input to | 869 // TODO(jarin) We should also add an instruction input for every input to |
866 // the framestate node (and recurse for the inlined framestates). | 870 // the framestate node (and recurse for the inlined framestates). |
867 int deoptimization_id = sequence()->AddDeoptimizationEntry(descriptor); | 871 int deoptimization_id = sequence()->AddDeoptimizationEntry(descriptor); |
868 Emit(kArchDeoptimize | MiscField::encode(deoptimization_id), NULL); | 872 Emit(kArchDeoptimize | MiscField::encode(deoptimization_id), NULL); |
869 } | 873 } |
870 | 874 |
871 } // namespace compiler | 875 } // namespace compiler |
872 } // namespace internal | 876 } // namespace internal |
873 } // namespace v8 | 877 } // namespace v8 |
OLD | NEW |