| Index: src/compiler/escape-analysis-reducer.cc
|
| diff --git a/src/compiler/escape-analysis-reducer.cc b/src/compiler/escape-analysis-reducer.cc
|
| index c69b86c488ddfb7ccb7016f0d6ac984be28e4ffe..a2b53c0b875b5b54e9feac606e3939cab6f9226a 100644
|
| --- a/src/compiler/escape-analysis-reducer.cc
|
| +++ b/src/compiler/escape-analysis-reducer.cc
|
| @@ -305,6 +305,11 @@ Node* EscapeAnalysisReducer::ReduceStateValueInput(Node* node, int node_index,
|
| if (input->opcode() == IrOpcode::kFinishRegion ||
|
| input->opcode() == IrOpcode::kAllocate) {
|
| if (escape_analysis()->IsVirtual(input)) {
|
| + if (escape_analysis()->IsCyclicObjectState(effect, input)) {
|
| + // TODO(mstarzinger): Represent cyclic object states differently to
|
| + // ensure the scheduler can properly handle such object states.
|
| + FATAL("Cyclic object state detected by escape analysis.");
|
| + }
|
| if (Node* object_state =
|
| escape_analysis()->GetOrCreateObjectState(effect, input)) {
|
| if (node_multiused || (multiple_users && !already_cloned)) {
|
|
|