| Index: test/cctest/test-code-stub-assembler.cc
 | 
| diff --git a/test/cctest/test-code-stub-assembler.cc b/test/cctest/test-code-stub-assembler.cc
 | 
| index 8bd5d099cc2e3f384c2b3e417ba5eb322c12fa74..6b1de76d960ac02a67ec331042de69e82edfca51 100644
 | 
| --- a/test/cctest/test-code-stub-assembler.cc
 | 
| +++ b/test/cctest/test-code-stub-assembler.cc
 | 
| @@ -2006,6 +2006,70 @@ TEST(CreatePromiseResolvingFunctions) {
 | 
|    CHECK(result_arr->get(1)->IsJSFunction());
 | 
|  }
 | 
|  
 | 
| +TEST(NewElementsCapacity) {
 | 
| +  Isolate* isolate(CcTest::InitIsolateOnce());
 | 
| +  CodeAssemblerTester data(isolate, 1);
 | 
| +  CodeStubAssembler m(data.state());
 | 
| +  m.Return(m.SmiTag(m.CalculateNewElementsCapacity(
 | 
| +      m.SmiUntag(m.Parameter(0)), CodeStubAssembler::INTPTR_PARAMETERS)));
 | 
| +  Handle<Code> code = data.GenerateCode();
 | 
| +  CHECK(!code.is_null());
 | 
| +  FunctionTester ft(code, 1);
 | 
| +  Handle<Smi> test_value = Handle<Smi>(Smi::FromInt(0), isolate);
 | 
| +  Handle<Smi> result_obj =
 | 
| +      Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +  test_value = Handle<Smi>(Smi::FromInt(1), isolate);
 | 
| +  result_obj = Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +  test_value = Handle<Smi>(Smi::FromInt(2), isolate);
 | 
| +  result_obj = Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +  test_value = Handle<Smi>(Smi::FromInt(1025), isolate);
 | 
| +  result_obj = Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +}
 | 
| +
 | 
| +TEST(NewElementsCapacitySmi) {
 | 
| +  Isolate* isolate(CcTest::InitIsolateOnce());
 | 
| +  CodeAssemblerTester data(isolate, 1);
 | 
| +  CodeStubAssembler m(data.state());
 | 
| +  m.Return(m.CalculateNewElementsCapacity(m.Parameter(0),
 | 
| +                                          CodeStubAssembler::SMI_PARAMETERS));
 | 
| +  Handle<Code> code = data.GenerateCode();
 | 
| +  CHECK(!code.is_null());
 | 
| +  FunctionTester ft(code, 1);
 | 
| +  Handle<Smi> test_value = Handle<Smi>(Smi::FromInt(0), isolate);
 | 
| +  Handle<Smi> result_obj =
 | 
| +      Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +  test_value = Handle<Smi>(Smi::FromInt(1), isolate);
 | 
| +  result_obj = Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +  test_value = Handle<Smi>(Smi::FromInt(2), isolate);
 | 
| +  result_obj = Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +  test_value = Handle<Smi>(Smi::FromInt(1025), isolate);
 | 
| +  result_obj = Handle<Smi>::cast(ft.Call(test_value).ToHandleChecked());
 | 
| +  CHECK_EQ(
 | 
| +      result_obj->value(),
 | 
| +      static_cast<int>(JSObject::NewElementsCapacity(test_value->value())));
 | 
| +}
 | 
| +
 | 
|  TEST(AllocateFunctionWithMapAndContext) {
 | 
|    Isolate* isolate(CcTest::InitIsolateOnce());
 | 
|  
 | 
| 
 |