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 12091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
12102 if (ast_context()->IsEffect()) { | 12102 if (ast_context()->IsEffect()) { |
12103 // EffectContext::ReturnValue ignores the value, so we can just pass | 12103 // EffectContext::ReturnValue ignores the value, so we can just pass |
12104 // 'undefined' (as we do not have the call result anymore). | 12104 // 'undefined' (as we do not have the call result anymore). |
12105 return ast_context()->ReturnValue(graph()->GetConstantUndefined()); | 12105 return ast_context()->ReturnValue(graph()->GetConstantUndefined()); |
12106 } else { | 12106 } else { |
12107 return ast_context()->ReturnValue(Pop()); | 12107 return ast_context()->ReturnValue(Pop()); |
12108 } | 12108 } |
12109 } | 12109 } |
12110 | 12110 |
12111 | 12111 |
| 12112 void HOptimizedGraphBuilder::GenerateDefaultConstructorCallSuper( |
| 12113 CallRuntime* call) { |
| 12114 return Bailout(kSuperReference); |
| 12115 } |
| 12116 |
| 12117 |
12112 // Fast call to math functions. | 12118 // Fast call to math functions. |
12113 void HOptimizedGraphBuilder::GenerateMathPow(CallRuntime* call) { | 12119 void HOptimizedGraphBuilder::GenerateMathPow(CallRuntime* call) { |
12114 DCHECK_EQ(2, call->arguments()->length()); | 12120 DCHECK_EQ(2, call->arguments()->length()); |
12115 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); | 12121 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
12116 CHECK_ALIVE(VisitForValue(call->arguments()->at(1))); | 12122 CHECK_ALIVE(VisitForValue(call->arguments()->at(1))); |
12117 HValue* right = Pop(); | 12123 HValue* right = Pop(); |
12118 HValue* left = Pop(); | 12124 HValue* left = Pop(); |
12119 HInstruction* result = NewUncasted<HPower>(left, right); | 12125 HInstruction* result = NewUncasted<HPower>(left, right); |
12120 return ast_context()->ReturnInstruction(result, call->id()); | 12126 return ast_context()->ReturnInstruction(result, call->id()); |
12121 } | 12127 } |
(...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13502 if (ShouldProduceTraceOutput()) { | 13508 if (ShouldProduceTraceOutput()) { |
13503 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13509 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13504 } | 13510 } |
13505 | 13511 |
13506 #ifdef DEBUG | 13512 #ifdef DEBUG |
13507 graph_->Verify(false); // No full verify. | 13513 graph_->Verify(false); // No full verify. |
13508 #endif | 13514 #endif |
13509 } | 13515 } |
13510 | 13516 |
13511 } } // namespace v8::internal | 13517 } } // namespace v8::internal |
OLD | NEW |