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