Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 456ecc029f346cdb6dfd0f56223a665c669f0b31..20fe5feabbe406f30c25439ed2f1eadab826e99b 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -437,16 +437,19 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() { |
Zone* zone = this->zone(); |
HValue* undefined = graph()->GetConstantUndefined(); |
- HInstruction* boilerplate = Add<HLoadKeyed>(GetParameter(0), |
- GetParameter(1), |
- static_cast<HValue*>(NULL), |
- FAST_ELEMENTS); |
+ HInstruction* allocation_site = Add<HLoadKeyed>(GetParameter(0), |
+ GetParameter(1), |
+ static_cast<HValue*>(NULL), |
+ FAST_ELEMENTS); |
IfBuilder checker(this); |
- checker.IfNot<HCompareObjectEqAndBranch, HValue*>(boilerplate, |
+ checker.IfNot<HCompareObjectEqAndBranch, HValue*>(allocation_site, |
undefined); |
checker.And(); |
+ HObjectAccess access = HObjectAccess::ForAllocationSiteTransitionInfo(); |
+ HInstruction* boilerplate = Add<HLoadNamedField>(allocation_site, access); |
+ |
int size = JSObject::kHeaderSize + casted_stub()->length() * kPointerSize; |
HValue* boilerplate_size = |
AddInstruction(new(zone) HInstanceSize(boilerplate)); |