| 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-impl.h" | 5 #include "src/compiler/instruction-selector-impl.h" |
| 6 #include "src/compiler/node-matchers.h" | 6 #include "src/compiler/node-matchers.h" |
| 7 | 7 |
| 8 namespace v8 { | 8 namespace v8 { |
| 9 namespace internal { | 9 namespace internal { |
| 10 namespace compiler { | 10 namespace compiler { |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 VisitBinop(selector, node, sub_opcode, kArithimeticImm, false); | 354 VisitBinop(selector, node, sub_opcode, kArithimeticImm, false); |
| 355 } | 355 } |
| 356 } | 356 } |
| 357 | 357 |
| 358 | 358 |
| 359 void InstructionSelector::VisitInt32Sub(Node* node) { | 359 void InstructionSelector::VisitInt32Sub(Node* node) { |
| 360 VisitSub<int32_t>(this, node, kArm64Sub32, kArm64Neg32); | 360 VisitSub<int32_t>(this, node, kArm64Sub32, kArm64Neg32); |
| 361 } | 361 } |
| 362 | 362 |
| 363 | 363 |
| 364 void InstructionSelector::VisitInt32SubWithOverflow(Node* node) { |
| 365 VisitBinopWithOverflow(this, node, kArm64Sub32); |
| 366 } |
| 367 |
| 368 |
| 364 void InstructionSelector::VisitInt64Sub(Node* node) { | 369 void InstructionSelector::VisitInt64Sub(Node* node) { |
| 365 VisitSub<int64_t>(this, node, kArm64Sub, kArm64Neg); | 370 VisitSub<int64_t>(this, node, kArm64Sub, kArm64Neg); |
| 366 } | 371 } |
| 367 | 372 |
| 368 | 373 |
| 369 void InstructionSelector::VisitInt32Mul(Node* node) { | 374 void InstructionSelector::VisitInt32Mul(Node* node) { |
| 370 VisitRRR(this, kArm64Mul32, node); | 375 VisitRRR(this, kArm64Mul32, node); |
| 371 } | 376 } |
| 372 | 377 |
| 373 | 378 |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 // Caller clean up of stack for C-style calls. | 654 // Caller clean up of stack for C-style calls. |
| 650 if (is_c_frame && aligned_push_count > 0) { | 655 if (is_c_frame && aligned_push_count > 0) { |
| 651 ASSERT(deoptimization == NULL && continuation == NULL); | 656 ASSERT(deoptimization == NULL && continuation == NULL); |
| 652 Emit(kArm64Drop | MiscField::encode(aligned_push_count), NULL); | 657 Emit(kArm64Drop | MiscField::encode(aligned_push_count), NULL); |
| 653 } | 658 } |
| 654 } | 659 } |
| 655 | 660 |
| 656 } // namespace compiler | 661 } // namespace compiler |
| 657 } // namespace internal | 662 } // namespace internal |
| 658 } // namespace v8 | 663 } // namespace v8 |
| OLD | NEW |