Fix RyuJIT assert 'emitCurIG != emitPrologIG'
authorBruce Forstall <brucefo@microsoft.com>
Tue, 17 Nov 2015 22:00:20 +0000 (14:00 -0800)
committerBruce Forstall <brucefo@microsoft.com>
Tue, 17 Nov 2015 22:00:20 +0000 (14:00 -0800)
commitc1bf3a266cf1c588adc5e96b2524e67bae930937
tree5b7669b583f679dce6c0d995f7841006e1a63066
parent82c27bcb62cb03ea0d7883689bd8611fe5444d70
Fix RyuJIT assert 'emitCurIG != emitPrologIG'

This occurs when the call-to-finally block exists as the last code in the function
(including any funclets). After we generate all "normal" code, we start over and
generate code for all the prologs and epilogs. In this case, we didn't reset the
emitForceNewIG global, which determines if we should force a new IG to be created
the next time code is generated. It is used for specifying no-GC regions. This fix
initializes it (along with emitNOGCIG) at the beginning of generating and prolog
or epilog.
src/jit/emit.cpp