Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 23d4269c849fa6cbd517b6f1d64deccb582fd570..23d5442f0e2f4d5ce9e0ee3344d5ff96e4f2da5a 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -357,40 +357,45 @@ HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() { |
HObjectAccess access = HObjectAccess::ForAllocationSiteTransitionInfo(); |
HInstruction* boilerplate = Add<HLoadNamedField>(allocation_site, access); |
+ HValue* push_value; |
if (mode == FastCloneShallowArrayStub::CLONE_ANY_ELEMENTS) { |
HValue* elements = AddLoadElements(boilerplate); |
IfBuilder if_fixed_cow(this); |
if_fixed_cow.If<HCompareMap>(elements, factory->fixed_cow_array_map()); |
if_fixed_cow.Then(); |
- environment()->Push(BuildCloneShallowArray(boilerplate, |
- allocation_site, |
- alloc_site_mode, |
- FAST_ELEMENTS, |
- 0/*copy-on-write*/)); |
+ push_value = BuildCloneShallowArray(boilerplate, |
+ allocation_site, |
+ alloc_site_mode, |
+ FAST_ELEMENTS, |
+ 0/*copy-on-write*/); |
+ environment()->Push(push_value); |
if_fixed_cow.Else(); |
IfBuilder if_fixed(this); |
if_fixed.If<HCompareMap>(elements, factory->fixed_array_map()); |
if_fixed.Then(); |
- environment()->Push(BuildCloneShallowArray(boilerplate, |
- allocation_site, |
- alloc_site_mode, |
- FAST_ELEMENTS, |
- length)); |
+ push_value = BuildCloneShallowArray(boilerplate, |
+ allocation_site, |
+ alloc_site_mode, |
+ FAST_ELEMENTS, |
+ length); |
+ environment()->Push(push_value); |
if_fixed.Else(); |
- environment()->Push(BuildCloneShallowArray(boilerplate, |
- allocation_site, |
- alloc_site_mode, |
- FAST_DOUBLE_ELEMENTS, |
- length)); |
+ push_value = BuildCloneShallowArray(boilerplate, |
+ allocation_site, |
+ alloc_site_mode, |
+ FAST_DOUBLE_ELEMENTS, |
+ length); |
+ environment()->Push(push_value); |
} else { |
ElementsKind elements_kind = casted_stub()->ComputeElementsKind(); |
- environment()->Push(BuildCloneShallowArray(boilerplate, |
- allocation_site, |
- alloc_site_mode, |
- elements_kind, |
- length)); |
+ push_value = BuildCloneShallowArray(boilerplate, |
+ allocation_site, |
+ alloc_site_mode, |
+ elements_kind, |
+ length); |
+ environment()->Push(push_value); |
} |
checker.ElseDeopt("Uninitialized boilerplate literals"); |