Не могу поймать исключение в asmjit
Я использую asmjit, и я столкнулся с проблемой. Когда исключение C++ вызывается функцией, вызываемой в сгенерированном коде jit (x64), оно не может быть перехвачено, даже если я делаю try-catch вне вызова функции jit, почему и как я могу перехватить исключение?
1 ответ
Ответ автора asmjit Петра Кобаличека по электронной почте очень полезен:
это сильно зависит от ОС, на которую вы ориентируетесь. AsmJit не предоставляет никаких помощников для обработки исключений, поэтому вам нужно обрабатывать исключения самостоятельно.
Если вы используете Windows, вы можете проверить это: https://msdn.microsoft.com/en-us/library/1eyas8tf.aspx
Кроме того, проверка других механизмов JIT, таких как V8, может помочь вам понять, как JITted-код обычно обрабатывает исключения. В Windows вы можете установить обработчик исключений для всего кода JIT виртуального адресного пространства, таким образом вам не нужно вставлять данные для каждой функции.