| Index: src/compiler/pipeline.cc
|
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
|
| index 63ba407792875454eca991ccb772c4429f5f3417..66f3bf0fc4a1584d326bd5b4ea8d8ba34bee58f6 100644
|
| --- a/src/compiler/pipeline.cc
|
| +++ b/src/compiler/pipeline.cc
|
| @@ -1041,6 +1041,12 @@ Handle<Code> Pipeline::GenerateCode() {
|
| if (data.compilation_failed()) return Handle<Code>::null();
|
| RunPrintAndVerify("Initial untyped", true);
|
|
|
| + // Perform OSR deconstruction.
|
| + if (info()->is_osr()) {
|
| + Run<OsrDeconstructionPhase>();
|
| + RunPrintAndVerify("OSR deconstruction", true);
|
| + }
|
| +
|
| // Perform context specialization and inlining (if enabled).
|
| Run<InliningPhase>();
|
| RunPrintAndVerify("Inlined", true);
|
| @@ -1077,11 +1083,6 @@ Handle<Code> Pipeline::GenerateCode() {
|
| RunPrintAndVerify("Loop peeled");
|
| }
|
|
|
| - if (info()->is_osr()) {
|
| - Run<OsrDeconstructionPhase>();
|
| - RunPrintAndVerify("OSR deconstruction");
|
| - }
|
| -
|
| if (info()->is_type_feedback_enabled()) {
|
| Run<JSTypeFeedbackPhase>();
|
| RunPrintAndVerify("JSType feedback");
|
| @@ -1101,12 +1102,6 @@ Handle<Code> Pipeline::GenerateCode() {
|
| Run<ChangeLoweringPhase>();
|
| // TODO(jarin, rossberg): Remove UNTYPED once machine typing works.
|
| RunPrintAndVerify("Lowered changes", true);
|
| - } else {
|
| - if (info()->is_osr()) {
|
| - Run<OsrDeconstructionPhase>();
|
| - if (info()->bailout_reason() != kNoReason) return Handle<Code>::null();
|
| - RunPrintAndVerify("OSR deconstruction", true);
|
| - }
|
| }
|
|
|
| // Lower any remaining generic JSOperators.
|
|
|