Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: src/hydrogen.cc

Issue 515723004: Deoptimize context value in Turbofan (and Crankshaft). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix tests. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/deoptimizer.cc ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « src/deoptimizer.cc ('k') | src/hydrogen-instructions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698