Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index da9e9f0f651f8b0a0be3fda57ee224d2a8f4f9e5..47d705fa8872ddf7cde8935e6e8f7e3d69f8af49 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -1131,6 +1131,7 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
__ push(r0); |
__ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); |
__ bind(&done_convert); |
+ PrepareForBailoutForId(stmt->ToObjectId(), TOS_REG); |
__ push(r0); |
// Check for proxies. |
@@ -1155,6 +1156,7 @@ void FullCodeGenerator::VisitForInStatement(ForInStatement* stmt) { |
__ bind(&call_runtime); |
__ push(r0); // Duplicate the enumerable object on the stack. |
__ CallRuntime(Runtime::kGetPropertyNamesFast, 1); |
+ PrepareForBailoutForId(stmt->EnumId(), TOS_REG); |
// If we got a map from the runtime call, we can do a fast |
// modification check. Otherwise, we got a fixed array, and we have |
@@ -1698,6 +1700,7 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
FastCloneShallowObjectStub stub(isolate(), properties_count); |
__ CallStub(&stub); |
} |
+ PrepareForBailoutForId(expr->CreateLiteralId(), TOS_REG); |
// If result_saved is true the result is on top of the stack. If |
// result_saved is false the result is in r0. |