Index: src/isolate.h |
diff --git a/src/isolate.h b/src/isolate.h |
index 0437f32b9907c13bdf4e08b00fca59a398b0e817..8755dcd74c390a02f70c237e292454eb680c39da 100644 |
--- a/src/isolate.h |
+++ b/src/isolate.h |
@@ -134,6 +134,22 @@ typedef ZoneList<Handle<Object> > ZoneObjectList; |
#define ASSIGN_RETURN_ON_EXCEPTION(isolate, dst, call, T) \ |
ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, dst, call, MaybeHandle<T>()) |
+#define THROW_NEW_ERROR(isolate, call, T) \ |
+ do { \ |
+ Handle<Object> __error__; \ |
+ ASSIGN_RETURN_ON_EXCEPTION(isolate, __error__, isolate->factory()->call, \ |
+ T); \ |
+ return isolate->Throw<T>(__error__); \ |
+ } while (false) |
+ |
+#define THROW_NEW_ERROR_RETURN_FAILURE(isolate, call) \ |
+ do { \ |
+ Handle<Object> __error__; \ |
+ ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, __error__, \ |
+ isolate->factory()->call); \ |
+ return isolate->Throw(*__error__); \ |
+ } while (false) |
+ |
#define RETURN_ON_EXCEPTION_VALUE(isolate, call, value) \ |
do { \ |
if ((call).is_null()) { \ |
@@ -762,7 +778,6 @@ class Isolate { |
// Return pending location if any or unfilled structure. |
MessageLocation GetMessageLocation(); |
Object* ThrowIllegalOperation(); |
- Object* ThrowInvalidStringLength(); |
// Promote a scheduled exception to pending. Asserts has_scheduled_exception. |
Object* PromoteScheduledException(); |