Index: src/hydrogen.cc |
diff --git a/src/hydrogen.cc b/src/hydrogen.cc |
index 46e1b18aa6afe466a94cbc6d8aca7532bfe36168..c2656f3b52e8522d32b086eb6cbe41717f8856bb 100644 |
--- a/src/hydrogen.cc |
+++ b/src/hydrogen.cc |
@@ -10374,14 +10374,23 @@ void HOptimizedGraphBuilder::GenerateSetValueOf(CallRuntime* call) { |
Add<HStoreNamedField>(object, |
HObjectAccess::ForObservableJSObjectOffset(JSValue::kValueOffset), |
value); |
+ if (!ast_context()->IsEffect()) { |
+ Push(value); |
+ } |
Add<HSimulate>(call->id(), FIXED_SIMULATE); |
} |
if_objectisvalue.Else(); |
{ |
// Nothing to do in this case. |
+ if (!ast_context()->IsEffect()) { |
+ Push(value); |
+ } |
Add<HSimulate>(call->id(), FIXED_SIMULATE); |
} |
if_objectisvalue.End(); |
+ if (!ast_context()->IsEffect()) { |
+ Drop(1); |
+ } |
return ast_context()->ReturnValue(value); |
} |