I had switched to the 'incdNativeDepth' thing for detecting when execute() should return since changing the depth during exception throws would be difficult, but.. I came up with a far simpler method which doesn't require the tricky incdNativeDepth stuff.
Soooo duh, having only a single EH stack in the VM doesn't work when you have multiple threads. Now there's the VM EH stack (which *only* holds native EH frames) and the per-thread EH stacks (which *only* hold script EH frames). This is better.
Made it compile in release and/or 64-bit mode.