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/base/bits.h" | 5 #include "src/base/bits.h" |
6 #include "src/compiler/instruction-selector-impl.h" | 6 #include "src/compiler/instruction-selector-impl.h" |
7 #include "src/compiler/node-matchers.h" | 7 #include "src/compiler/node-matchers.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); | 402 g.UseFixed(node->InputAt(1), f14))->MarkAsCall(); |
403 } | 403 } |
404 | 404 |
405 | 405 |
406 void InstructionSelector::VisitFloat64Sqrt(Node* node) { | 406 void InstructionSelector::VisitFloat64Sqrt(Node* node) { |
407 MipsOperandGenerator g(this); | 407 MipsOperandGenerator g(this); |
408 Emit(kMipsSqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); | 408 Emit(kMipsSqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
409 } | 409 } |
410 | 410 |
411 | 411 |
| 412 void InstructionSelector::VisitFloat64Floor(Node* node) { UNREACHABLE(); } |
| 413 |
| 414 |
| 415 void InstructionSelector::VisitFloat64Ceil(Node* node) { UNREACHABLE(); } |
| 416 |
| 417 |
| 418 void InstructionSelector::VisitFloat64RoundTruncate(Node* node) { |
| 419 UNREACHABLE(); |
| 420 } |
| 421 |
| 422 |
| 423 void InstructionSelector::VisitFloat64RoundTiesAway(Node* node) { |
| 424 UNREACHABLE(); |
| 425 } |
| 426 |
| 427 |
412 void InstructionSelector::VisitCall(Node* node) { | 428 void InstructionSelector::VisitCall(Node* node) { |
413 MipsOperandGenerator g(this); | 429 MipsOperandGenerator g(this); |
414 CallDescriptor* descriptor = OpParameter<CallDescriptor*>(node); | 430 CallDescriptor* descriptor = OpParameter<CallDescriptor*>(node); |
415 | 431 |
416 FrameStateDescriptor* frame_state_descriptor = NULL; | 432 FrameStateDescriptor* frame_state_descriptor = NULL; |
417 if (descriptor->NeedsFrameState()) { | 433 if (descriptor->NeedsFrameState()) { |
418 frame_state_descriptor = | 434 frame_state_descriptor = |
419 GetFrameStateDescriptor(node->InputAt(descriptor->InputCount())); | 435 GetFrameStateDescriptor(node->InputAt(descriptor->InputCount())); |
420 } | 436 } |
421 | 437 |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 InstructionSelector::SupportedMachineOperatorFlags() { | 669 InstructionSelector::SupportedMachineOperatorFlags() { |
654 return MachineOperatorBuilder::kInt32DivIsSafe | | 670 return MachineOperatorBuilder::kInt32DivIsSafe | |
655 MachineOperatorBuilder::kInt32ModIsSafe | | 671 MachineOperatorBuilder::kInt32ModIsSafe | |
656 MachineOperatorBuilder::kUint32DivIsSafe | | 672 MachineOperatorBuilder::kUint32DivIsSafe | |
657 MachineOperatorBuilder::kUint32ModIsSafe; | 673 MachineOperatorBuilder::kUint32ModIsSafe; |
658 } | 674 } |
659 | 675 |
660 } // namespace compiler | 676 } // namespace compiler |
661 } // namespace internal | 677 } // namespace internal |
662 } // namespace v8 | 678 } // namespace v8 |
OLD | NEW |