| Index: src/runtime/runtime-literals.cc | 
| diff --git a/src/runtime/runtime-literals.cc b/src/runtime/runtime-literals.cc | 
| index cf7805e907719b1c0a45082edacd2728bccf89e5..3e1c710e3b8e72ac48f195275712498989991343 100644 | 
| --- a/src/runtime/runtime-literals.cc | 
| +++ b/src/runtime/runtime-literals.cc | 
| @@ -86,38 +86,17 @@ MUST_USE_RESULT static MaybeHandle<Object> CreateObjectLiteralBoilerplate( | 
| } | 
| MaybeHandle<Object> maybe_result; | 
| uint32_t element_index = 0; | 
| -    if (key->IsInternalizedString()) { | 
| -      if (Handle<String>::cast(key)->AsArrayIndex(&element_index)) { | 
| -        // Array index as string (uint32). | 
| -        if (value->IsUninitialized()) value = handle(Smi::FromInt(0), isolate); | 
| -        maybe_result = JSObject::SetOwnElementIgnoreAttributes( | 
| -            boilerplate, element_index, value, NONE); | 
| -      } else { | 
| -        Handle<String> name(String::cast(*key)); | 
| -        DCHECK(!name->AsArrayIndex(&element_index)); | 
| -        maybe_result = JSObject::SetOwnPropertyIgnoreAttributes( | 
| -            boilerplate, name, value, NONE); | 
| -      } | 
| -    } else if (key->ToArrayIndex(&element_index)) { | 
| +    if (key->ToArrayIndex(&element_index)) { | 
| // Array index (uint32). | 
| if (value->IsUninitialized()) value = handle(Smi::FromInt(0), isolate); | 
| maybe_result = JSObject::SetOwnElementIgnoreAttributes( | 
| boilerplate, element_index, value, NONE); | 
| } else { | 
| -      // Non-uint32 number. | 
| -      DCHECK(key->IsNumber()); | 
| -      double num = key->Number(); | 
| -      char arr[100]; | 
| -      Vector<char> buffer(arr, arraysize(arr)); | 
| -      const char* str = DoubleToCString(num, buffer); | 
| -      Handle<String> name = isolate->factory()->NewStringFromAsciiChecked(str); | 
| +      Handle<String> name = Handle<String>::cast(key); | 
| +      DCHECK(!name->AsArrayIndex(&element_index)); | 
| maybe_result = JSObject::SetOwnPropertyIgnoreAttributes(boilerplate, name, | 
| value, NONE); | 
| } | 
| -    // If setting the property on the boilerplate throws an | 
| -    // exception, the exception is converted to an empty handle in | 
| -    // the handle based operations.  In that case, we need to | 
| -    // convert back to an exception. | 
| RETURN_ON_EXCEPTION(isolate, maybe_result, Object); | 
| } | 
|  | 
|  |