gzdoom-gles/src/scripting/vm
Christoph Oelckers f2ac0f4c53 - removed the longjmp based exception catch/rethrow mechanism and instead force-terminate in case a user exception is thrown while the VM is executing JITed code on a non-Windows system
On Windows none of this is needed, because we can generate a proper unwind frame for the JITed functions, but even on Linux, it would require manual additions to each single piece of native code that ever gets called from inside a JIT compiled function.
This is an utterly prohibitive proposition because it makes direct native calls a virtual impossibility
So, in order to get the thrown error properly presented both I_Error and ThrowAbortException will now forward to I_FatalError if it is called from inside a JIT context.

# Conflicts:
#	src/scripting/vm/vmframe.cpp
2019-04-16 17:32:32 +02:00
..
jit.cpp - removed the longjmp based exception catch/rethrow mechanism and instead force-terminate in case a user exception is thrown while the VM is executing JITed code on a non-Windows system 2019-04-16 17:32:32 +02:00
jit.h - construct our own runtime as the one provided by asmjit is too primitive 2019-04-15 14:36:58 +02:00
jit_call.cpp - fix native call crash and assertion error 2019-04-16 17:14:31 +02:00
jit_flow.cpp - removed the longjmp based exception catch/rethrow mechanism and instead force-terminate in case a user exception is thrown while the VM is executing JITed code on a non-Windows system 2019-04-16 17:32:32 +02:00
jit_load.cpp - inline VBTL opcode 2019-04-15 16:09:11 +02:00
jit_math.cpp - stop using lambda functions for CreateCall because MSVC lambas use a different calling convention and "converts" them to the right one by generating a thunk function 2019-04-15 14:37:44 +02:00
jit_move.cpp - Fixed compilation. 2019-04-15 21:48:55 +02:00
jit_runtime.cpp - hook up unix unwind info (still not working) 2019-04-16 17:14:30 +02:00
jit_store.cpp - fix missing convert from float to double in LSP and LSP_R opcodes 2019-04-15 14:36:46 +02:00
jitintern.h - use the OP_PARAM and OP_RESULT opcodes to build the function signature 2019-04-16 14:58:35 +02:00
vm.h - allocate storage for all of a function's return values 2019-04-16 14:58:41 +02:00
vmexec.cpp - moved the type infomation entirely out of VMValue. 2019-04-15 16:02:17 +02:00
vmexec.h - moved the type infomation entirely out of VMValue. 2019-04-15 16:02:17 +02:00
vmframe.cpp - removed the longjmp based exception catch/rethrow mechanism and instead force-terminate in case a user exception is thrown while the VM is executing JITed code on a non-Windows system 2019-04-16 17:32:32 +02:00
vmintern.h - removed the longjmp based exception catch/rethrow mechanism and instead force-terminate in case a user exception is thrown while the VM is executing JITed code on a non-Windows system 2019-04-16 17:32:32 +02:00
vmops.h - removed OP_TAIL. 2019-04-15 15:52:10 +02:00