OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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-assembler.h" | 5 #include "src/compiler/code-assembler.h" |
6 | 6 |
7 #include <ostream> | 7 #include <ostream> |
8 | 8 |
9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 | 710 |
711 void CodeAssembler::Branch(Node* condition, CodeAssembler::Label* true_label, | 711 void CodeAssembler::Branch(Node* condition, CodeAssembler::Label* true_label, |
712 CodeAssembler::Label* false_label) { | 712 CodeAssembler::Label* false_label) { |
713 true_label->MergeVariables(); | 713 true_label->MergeVariables(); |
714 false_label->MergeVariables(); | 714 false_label->MergeVariables(); |
715 return raw_assembler_->Branch(condition, true_label->label_, | 715 return raw_assembler_->Branch(condition, true_label->label_, |
716 false_label->label_); | 716 false_label->label_); |
717 } | 717 } |
718 | 718 |
719 void CodeAssembler::Switch(Node* index, Label* default_label, | 719 void CodeAssembler::Switch(Node* index, Label* default_label, |
720 int32_t* case_values, Label** case_labels, | 720 const int32_t* case_values, Label** case_labels, |
721 size_t case_count) { | 721 size_t case_count) { |
722 RawMachineLabel** labels = | 722 RawMachineLabel** labels = |
723 new (zone()->New(sizeof(RawMachineLabel*) * case_count)) | 723 new (zone()->New(sizeof(RawMachineLabel*) * case_count)) |
724 RawMachineLabel*[case_count]; | 724 RawMachineLabel*[case_count]; |
725 for (size_t i = 0; i < case_count; ++i) { | 725 for (size_t i = 0; i < case_count; ++i) { |
726 labels[i] = case_labels[i]->label_; | 726 labels[i] = case_labels[i]->label_; |
727 case_labels[i]->MergeVariables(); | 727 case_labels[i]->MergeVariables(); |
728 default_label->MergeVariables(); | 728 default_label->MergeVariables(); |
729 } | 729 } |
730 return raw_assembler_->Switch(index, default_label->label_, case_values, | 730 return raw_assembler_->Switch(index, default_label->label_, case_values, |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 } | 906 } |
907 } | 907 } |
908 } | 908 } |
909 | 909 |
910 bound_ = true; | 910 bound_ = true; |
911 } | 911 } |
912 | 912 |
913 } // namespace compiler | 913 } // namespace compiler |
914 } // namespace internal | 914 } // namespace internal |
915 } // namespace v8 | 915 } // namespace v8 |
OLD | NEW |