Index: src/ia32/full-codegen-ia32.cc |
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
index 3b3908df1dc0a45666167b03532f6057d7dd5a93..5a780197c32f66938273461346bf53862832e259 100644 |
--- a/src/ia32/full-codegen-ia32.cc |
+++ b/src/ia32/full-codegen-ia32.cc |
@@ -1529,7 +1529,8 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
? ObjectLiteral::kHasFunction |
: ObjectLiteral::kNoFlags; |
int properties_count = constant_properties->length() / 2; |
- if (expr->depth() > 1) { |
+ if ((FLAG_track_double_fields && expr->may_store_doubles()) || |
+ expr->depth() > 1) { |
__ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); |
__ push(FieldOperand(edi, JSFunction::kLiteralsOffset)); |
__ push(Immediate(Smi::FromInt(expr->literal_index()))); |