| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index dfadbe56f61f64e0a75c791cefcd130d84eb998b..e8360a09f98d516aa682806960a6e6b9705c88cf 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -3326,7 +3326,6 @@ HOptimizedGraphBuilder::HOptimizedGraphBuilder(CompilationInfo* info)
|
| break_scope_(NULL),
|
| inlined_count_(0),
|
| globals_(10, info->zone()),
|
| - inline_bailout_(false),
|
| osr_(new(info->zone()) HOsrBuilder(this)) {
|
| // This is not initialized in the initializer list because the
|
| // constructor for the initial state relies on function_state_ == NULL
|
| @@ -4211,7 +4210,7 @@ void TestContext::BuildBranch(HValue* value) {
|
|
|
|
|
| void HOptimizedGraphBuilder::Bailout(BailoutReason reason) {
|
| - current_info()->set_bailout_reason(reason);
|
| + current_info()->AbortOptimization(reason);
|
| SetStackOverflow();
|
| }
|
|
|
| @@ -7931,10 +7930,10 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
|
| set_scope(saved_scope);
|
| if (HasStackOverflow()) {
|
| // Bail out if the inline function did, as we cannot residualize a call
|
| - // instead.
|
| + // instead, but do not disable optimization for the outer function.
|
| TraceInline(target, caller, "inline graph construction failed");
|
| target_shared->DisableOptimization(kInliningBailedOut);
|
| - inline_bailout_ = true;
|
| + current_info()->RetryOptimization(kInliningBailedOut);
|
| delete target_state;
|
| return true;
|
| }
|
|
|