Index: src/full-codegen/arm64/full-codegen-arm64.cc |
diff --git a/src/full-codegen/arm64/full-codegen-arm64.cc b/src/full-codegen/arm64/full-codegen-arm64.cc |
index f28f46ba2dd02f87e7478610ee3246e6771cae23..eefd0820c3c7c9069d4263ca20160cc4a180090a 100644 |
--- a/src/full-codegen/arm64/full-codegen-arm64.cc |
+++ b/src/full-codegen/arm64/full-codegen-arm64.cc |
@@ -1136,7 +1136,6 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
__ Push(x1, x0, x2, xzr); |
// Generate code for doing the condition check. |
- PrepareForBailoutForId(stmt->BodyId(), NO_REGISTERS); |
__ Bind(&loop); |
SetExpressionAsStatementPosition(stmt->each()); |
@@ -1187,6 +1186,8 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
PrepareForBailoutForId(stmt->AssignmentId(), NO_REGISTERS); |
} |
+ // Both Crankshaft and Turbofan expect BodyId to be right before stmt->body(). |
+ PrepareForBailoutForId(stmt->BodyId(), NO_REGISTERS); |
// Generate code for the body of the loop. |
Visit(stmt->body()); |