Called by JIT code for runtime errors (divZeroError, overflowError).
Sets a thread-local error flag and returns null. The effect machine
checks this after JIT returns and converts to Yield::Error.
kind: 0 = divZeroError, 1 = overflowError
Called by JIT code when an unresolved external variable is forced.
Returns null to allow execution to continue (will likely segfault later).
In debug mode (TIDEPOOL_TRACE), logs and returns null.