| Index: src/compiler/pipeline.cc
|
| diff --git a/src/compiler/pipeline.cc b/src/compiler/pipeline.cc
|
| index 934f4be17df9ba94d75435a79e9d8e23e8d557cd..9d3c5dd0f7047bca3b816cc2b0b5ac06faf90f46 100644
|
| --- a/src/compiler/pipeline.cc
|
| +++ b/src/compiler/pipeline.cc
|
| @@ -936,6 +936,10 @@ struct EscapeAnalysisPhase {
|
| &escape_analysis, temp_zone);
|
| AddReducer(data, &graph_reducer, &escape_reducer);
|
| graph_reducer.ReduceGraph();
|
| + if (escape_reducer.compilation_failed()) {
|
| + data->set_compilation_failed();
|
| + return;
|
| + }
|
| escape_reducer.VerifyReplacement();
|
| }
|
| };
|
| @@ -1550,6 +1554,11 @@ bool PipelineImpl::CreateGraph() {
|
|
|
| if (FLAG_turbo_escape) {
|
| Run<EscapeAnalysisPhase>();
|
| + if (data->compilation_failed()) {
|
| + info()->AbortOptimization(kCyclicObjectStateDetectedInEscapeAnalysis);
|
| + data->EndPhaseKind();
|
| + return false;
|
| + }
|
| RunPrintAndVerify("Escape Analysed");
|
| }
|
| }
|
|
|