OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/hydrogen.h" | 5 #include "src/hydrogen.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/v8.h" | 9 #include "src/v8.h" |
10 | 10 |
(...skipping 10588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10599 break; | 10599 break; |
10600 case Token::SHR: | 10600 case Token::SHR: |
10601 instr = AddUncasted<HShr>(left, right); | 10601 instr = AddUncasted<HShr>(left, right); |
10602 if (instr->IsShr() && CanBeZero(right)) { | 10602 if (instr->IsShr() && CanBeZero(right)) { |
10603 graph()->RecordUint32Instruction(instr); | 10603 graph()->RecordUint32Instruction(instr); |
10604 } | 10604 } |
10605 break; | 10605 break; |
10606 case Token::SHL: | 10606 case Token::SHL: |
10607 instr = AddUncasted<HShl>(left, right); | 10607 instr = AddUncasted<HShl>(left, right); |
10608 break; | 10608 break; |
| 10609 case Token::EXP: |
| 10610 instr = AddUncasted<HPower>(left, right); |
| 10611 break; |
10609 default: | 10612 default: |
10610 UNREACHABLE(); | 10613 UNREACHABLE(); |
10611 } | 10614 } |
10612 } | 10615 } |
10613 | 10616 |
10614 if (instr->IsBinaryOperation()) { | 10617 if (instr->IsBinaryOperation()) { |
10615 HBinaryOperation* binop = HBinaryOperation::cast(instr); | 10618 HBinaryOperation* binop = HBinaryOperation::cast(instr); |
10616 binop->set_observed_input_representation(1, left_rep); | 10619 binop->set_observed_input_representation(1, left_rep); |
10617 binop->set_observed_input_representation(2, right_rep); | 10620 binop->set_observed_input_representation(2, right_rep); |
10618 binop->initialize_output_representation(result_rep); | 10621 binop->initialize_output_representation(result_rep); |
(...skipping 2819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13438 if (ShouldProduceTraceOutput()) { | 13441 if (ShouldProduceTraceOutput()) { |
13439 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13442 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13440 } | 13443 } |
13441 | 13444 |
13442 #ifdef DEBUG | 13445 #ifdef DEBUG |
13443 graph_->Verify(false); // No full verify. | 13446 graph_->Verify(false); // No full verify. |
13444 #endif | 13447 #endif |
13445 } | 13448 } |
13446 | 13449 |
13447 } } // namespace v8::internal | 13450 } } // namespace v8::internal |
OLD | NEW |