| 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 <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "src/v8.h" | 9 #include "src/v8.h" |
| 10 | 10 |
| (...skipping 7873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7884 // inlined function. This simulate has no bailout-id since it's not directly | 7884 // inlined function. This simulate has no bailout-id since it's not directly |
| 7885 // reachable for deopt, and is only used to capture the state. If the simulate | 7885 // reachable for deopt, and is only used to capture the state. If the simulate |
| 7886 // becomes reachable by merging, the ast id of the simulate merged into it is | 7886 // becomes reachable by merging, the ast id of the simulate merged into it is |
| 7887 // adopted. | 7887 // adopted. |
| 7888 Add<HSimulate>(BailoutId::None()); | 7888 Add<HSimulate>(BailoutId::None()); |
| 7889 | 7889 |
| 7890 current_block()->UpdateEnvironment(inner_env); | 7890 current_block()->UpdateEnvironment(inner_env); |
| 7891 Scope* saved_scope = scope(); | 7891 Scope* saved_scope = scope(); |
| 7892 set_scope(target_info.scope()); | 7892 set_scope(target_info.scope()); |
| 7893 HEnterInlined* enter_inlined = | 7893 HEnterInlined* enter_inlined = |
| 7894 Add<HEnterInlined>(return_id, target, arguments_count, function, | 7894 Add<HEnterInlined>(return_id, target, context, arguments_count, function, |
| 7895 function_state()->inlining_kind(), | 7895 function_state()->inlining_kind(), |
| 7896 function->scope()->arguments(), | 7896 function->scope()->arguments(), arguments_object); |
| 7897 arguments_object); | |
| 7898 function_state()->set_entry(enter_inlined); | 7897 function_state()->set_entry(enter_inlined); |
| 7899 | 7898 |
| 7900 VisitDeclarations(target_info.scope()->declarations()); | 7899 VisitDeclarations(target_info.scope()->declarations()); |
| 7901 VisitStatements(function->body()); | 7900 VisitStatements(function->body()); |
| 7902 set_scope(saved_scope); | 7901 set_scope(saved_scope); |
| 7903 if (HasStackOverflow()) { | 7902 if (HasStackOverflow()) { |
| 7904 // Bail out if the inline function did, as we cannot residualize a call | 7903 // Bail out if the inline function did, as we cannot residualize a call |
| 7905 // instead. | 7904 // instead. |
| 7906 TraceInline(target, caller, "inline graph construction failed"); | 7905 TraceInline(target, caller, "inline graph construction failed"); |
| 7907 target_shared->DisableOptimization(kInliningBailedOut); | 7906 target_shared->DisableOptimization(kInliningBailedOut); |
| (...skipping 4587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12495 if (ShouldProduceTraceOutput()) { | 12494 if (ShouldProduceTraceOutput()) { |
| 12496 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 12495 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
| 12497 } | 12496 } |
| 12498 | 12497 |
| 12499 #ifdef DEBUG | 12498 #ifdef DEBUG |
| 12500 graph_->Verify(false); // No full verify. | 12499 graph_->Verify(false); // No full verify. |
| 12501 #endif | 12500 #endif |
| 12502 } | 12501 } |
| 12503 | 12502 |
| 12504 } } // namespace v8::internal | 12503 } } // namespace v8::internal |
| OLD | NEW |