| Index: src/isolate.h | 
| diff --git a/src/isolate.h b/src/isolate.h | 
| index a0aecd8b275bc96c307d0e75d6700e59bb4f8b6a..c0ea772d1fa0000015fcda22bd4ae15de5bbc7f5 100644 | 
| --- a/src/isolate.h | 
| +++ b/src/isolate.h | 
| @@ -124,6 +124,15 @@ typedef ZoneList<Handle<Object> > ZoneObjectList; | 
| }                                                     \ | 
| } while (false) | 
|  | 
| +#define RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, T)  \ | 
| +  do {                                                    \ | 
| +    Isolate* __isolate__ = (isolate);                     \ | 
| +    if (__isolate__->has_scheduled_exception()) {         \ | 
| +      __isolate__->PromoteScheduledException();           \ | 
| +      return Handle<T>::null();                           \ | 
| +    }                                                     \ | 
| +  } while (false) | 
| + | 
| #define RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, value) \ | 
| do {                                                     \ | 
| if ((call).is_null()) {                                \ | 
|  |