| Index: src/runtime/runtime-forin.cc | 
| diff --git a/src/runtime/runtime-forin.cc b/src/runtime/runtime-forin.cc | 
| index fadd2978379408c88bb2c7a1e1df963f6cd6963a..c793e88b9203611cd67532d1777d803d1af88b7a 100644 | 
| --- a/src/runtime/runtime-forin.cc | 
| +++ b/src/runtime/runtime-forin.cc | 
| @@ -26,9 +26,13 @@ RUNTIME_FUNCTION(Runtime_ForInFilter) { | 
| CONVERT_ARG_HANDLE_CHECKED(JSReceiver, receiver, 0); | 
| CONVERT_ARG_HANDLE_CHECKED(Object, key, 1); | 
| // TODO(turbofan): Fast case for array indices. | 
| -  Handle<Name> name = Runtime::ToName(isolate, key).ToHandleChecked(); | 
| +  Handle<Name> name; | 
| +  if (!Runtime::ToName(isolate, key).ToHandle(&name)) { | 
| +    return isolate->heap()->exception(); | 
| +  } | 
| Maybe<bool> result = JSReceiver::HasProperty(receiver, name); | 
| -  if (result.IsJust() && result.FromJust()) return *name; | 
| +  if (!result.IsJust()) return isolate->heap()->exception(); | 
| +  if (result.FromJust()) return *name; | 
| return isolate->heap()->undefined_value(); | 
| } | 
|  | 
| @@ -47,9 +51,13 @@ RUNTIME_FUNCTION(Runtime_ForInNext) { | 
| return *key; | 
| } | 
| // TODO(turbofan): Fast case for array indices. | 
| -  Handle<Name> name = Runtime::ToName(isolate, key).ToHandleChecked(); | 
| +  Handle<Name> name; | 
| +  if (!Runtime::ToName(isolate, key).ToHandle(&name)) { | 
| +    return isolate->heap()->exception(); | 
| +  } | 
| Maybe<bool> result = JSReceiver::HasProperty(receiver, name); | 
| -  if (result.IsJust() && result.FromJust()) return *name; | 
| +  if (!result.IsJust()) return isolate->heap()->exception(); | 
| +  if (result.FromJust()) return *name; | 
| return isolate->heap()->undefined_value(); | 
| } | 
|  | 
|  |