| Index: src/compiler/js-generic-lowering.cc | 
| diff --git a/src/compiler/js-generic-lowering.cc b/src/compiler/js-generic-lowering.cc | 
| index 1d0754fdc78a1ad84331ff3cfd434a96ba857c12..e9078ca6a41e9a138a3df5ffd8dd55df2e8134e8 100644 | 
| --- a/src/compiler/js-generic-lowering.cc | 
| +++ b/src/compiler/js-generic-lowering.cc | 
| @@ -555,14 +555,13 @@ void JSGenericLowering::LowerJSCreateIterResultObject(Node* node) { | 
| void JSGenericLowering::LowerJSCreateLiteralArray(Node* node) { | 
| CreateLiteralParameters const& p = CreateLiteralParametersOf(node->op()); | 
| CallDescriptor::Flags flags = AdjustFrameStatesForCall(node); | 
| -  int const length = Handle<FixedArray>::cast(p.constant())->length(); | 
| node->InsertInput(zone(), 1, jsgraph()->SmiConstant(p.index())); | 
| node->InsertInput(zone(), 2, jsgraph()->HeapConstant(p.constant())); | 
|  | 
| // Use the FastCloneShallowArrayStub only for shallow boilerplates up to the | 
| // initial length limit for arrays with "fast" elements kind. | 
| if ((p.flags() & ArrayLiteral::kShallowElements) != 0 && | 
| -      length < JSArray::kInitialMaxFastElementArray) { | 
| +      p.length() < JSArray::kInitialMaxFastElementArray) { | 
| Callable callable = CodeFactory::FastCloneShallowArray(isolate()); | 
| ReplaceWithStubCall(node, callable, flags); | 
| } else { | 
| @@ -575,8 +574,6 @@ void JSGenericLowering::LowerJSCreateLiteralArray(Node* node) { | 
| void JSGenericLowering::LowerJSCreateLiteralObject(Node* node) { | 
| CreateLiteralParameters const& p = CreateLiteralParametersOf(node->op()); | 
| CallDescriptor::Flags flags = AdjustFrameStatesForCall(node); | 
| -  // Constants are pairs, see ObjectLiteral::properties_count(). | 
| -  int const length = Handle<FixedArray>::cast(p.constant())->length() / 2; | 
| node->InsertInput(zone(), 1, jsgraph()->SmiConstant(p.index())); | 
| node->InsertInput(zone(), 2, jsgraph()->HeapConstant(p.constant())); | 
| node->InsertInput(zone(), 3, jsgraph()->SmiConstant(p.flags())); | 
| @@ -584,8 +581,9 @@ void JSGenericLowering::LowerJSCreateLiteralObject(Node* node) { | 
| // Use the FastCloneShallowObjectStub only for shallow boilerplates without | 
| // elements up to the number of properties that the stubs can handle. | 
| if ((p.flags() & ObjectLiteral::kShallowProperties) != 0 && | 
| -      length <= FastCloneShallowObjectStub::kMaximumClonedProperties) { | 
| -    Callable callable = CodeFactory::FastCloneShallowObject(isolate(), length); | 
| +      p.length() <= FastCloneShallowObjectStub::kMaximumClonedProperties) { | 
| +    Callable callable = | 
| +        CodeFactory::FastCloneShallowObject(isolate(), p.length()); | 
| ReplaceWithStubCall(node, callable, flags); | 
| } else { | 
| ReplaceWithRuntimeCall(node, Runtime::kCreateObjectLiteral); | 
|  |