Index: src/isolate.h |
diff --git a/src/isolate.h b/src/isolate.h |
index e09f773a97abb56fc83d1d5306dbced5148690f2..a358335fba739c94eeb2d78e725f68e9ec5d4c2f 100644 |
--- a/src/isolate.h |
+++ b/src/isolate.h |
@@ -106,15 +106,18 @@ typedef ZoneList<Handle<Object> > ZoneObjectList; |
// Macros for MaybeHandle. |
-#define RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, T) \ |
- do { \ |
- Isolate* __isolate__ = (isolate); \ |
- if (__isolate__->has_scheduled_exception()) { \ |
- __isolate__->PromoteScheduledException(); \ |
- return MaybeHandle<T>(); \ |
- } \ |
+#define RETURN_VALUE_IF_SCHEDULED_EXCEPTION(isolate, value) \ |
+ do { \ |
+ Isolate* __isolate__ = (isolate); \ |
+ if (__isolate__->has_scheduled_exception()) { \ |
+ __isolate__->PromoteScheduledException(); \ |
+ return value; \ |
+ } \ |
} while (false) |
+#define RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, T) \ |
+ RETURN_VALUE_IF_SCHEDULED_EXCEPTION(isolate, MaybeHandle<T>()) |
+ |
#define ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, dst, call, value) \ |
do { \ |
if (!(call).ToHandle(&dst)) { \ |