Created attachment 531406 [details]
Attachment is reduced from Kraken crypto-aes and crypto-ccm. It should print:
test.js:19: TypeError: d is undefined
With -n -m -a it prints nothing.
Created attachment 531436 [details]
While analyzing a loop body's modset we could incorrectly mark the compilation as having failed without throwing an exception, which would bubble up to TryCompile and cause the interpreter to just exit, also without reporting an exception. This adds an assertion to the compiler that if it produces an error there is a pending exception, and also fixes the loop body analysis to be infallible (it can allocate, but only into vectors with a CompilerAllocPolicy).