| Index: src/objects.cc | 
| diff --git a/src/objects.cc b/src/objects.cc | 
| index 9bac928efb56a7742a0d8f72f94a9bd715f31713..aa4c3349fa5eedf931a0322efc4be662045cd49e 100644 | 
| --- a/src/objects.cc | 
| +++ b/src/objects.cc | 
| @@ -1289,6 +1289,18 @@ | 
|  | 
|  | 
| // static | 
| +bool Object::IsErrorObject(Isolate* isolate, Handle<Object> object) { | 
| +  if (!object->IsJSObject()) return false; | 
| +  // Use stack_trace_symbol as proxy for [[ErrorData]]. | 
| +  Handle<Name> symbol = isolate->factory()->stack_trace_symbol(); | 
| +  Maybe<bool> has_stack_trace = | 
| +      JSReceiver::HasOwnProperty(Handle<JSReceiver>::cast(object), symbol); | 
| +  DCHECK(!has_stack_trace.IsNothing()); | 
| +  return has_stack_trace.FromJust(); | 
| +} | 
| + | 
| + | 
| +// static | 
| bool JSObject::AllCanRead(LookupIterator* it) { | 
| // Skip current iteration, it's in state ACCESS_CHECK or INTERCEPTOR, both of | 
| // which have already been checked. | 
|  |