Index: include/v8.h |
diff --git a/include/v8.h b/include/v8.h |
index ec1941e6fd86eec42707e4d41011112961fe2109..c2eb7e75ca90d12a654054a35ad72bb3d2dd71de 100644 |
--- a/include/v8.h |
+++ b/include/v8.h |
@@ -4333,6 +4333,18 @@ enum JitCodeEventOptions { |
typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); |
+#ifdef _WIN64 |
+/** |
+ * A windows exception filter for exceptions occurring in jitted code. The |
+ * return value determines how the exception should be handled, following |
+ * standard SEH rules. However, the expected behavior for this function is to |
+ * not return, instead of return EXCEPTION_EXECUTE_HANDLER or similar, given |
+ * that in general we are not prepared to handle exceptions. |
+ */ |
+typedef int (__cdecl *WinExceptionFilter)(void* exception_pointers); |
+#endif |
cpu_(ooo_6.6-7.5)
2014/09/26 17:03:51
__cdecl ? are you sure?
jochen (gone - plz use gerrit)
2014/09/26 17:25:30
yes, see https://code.google.com/p/chromium/codese
cpu_(ooo_6.6-7.5)
2014/09/26 20:35:31
Acknowledged.
|
+ |
+ |
/** |
* Isolate represents an isolated instance of the V8 engine. V8 isolates have |
* completely separate states. Objects from one isolate must not be used in |
@@ -4350,6 +4362,9 @@ class V8_EXPORT Isolate { |
CreateParams() |
: entry_hook(NULL), |
code_event_handler(NULL), |
+#ifdef _WIN64 |
+ exception_filter(NULL), |
+#endif |
enable_serializer(false) {} |
/** |
@@ -4372,6 +4387,14 @@ class V8_EXPORT Isolate { |
*/ |
ResourceConstraints constraints; |
+#ifdef _WIN64 |
+ /** |
+ * An exception filter that will be invoked when exceptions occur in |
+ * jitted code. |
+ */ |
+ WinExceptionFilter exception_filter; |
+#endif |
+ |
/** |
* This flag currently renders the Isolate unusable. |
*/ |