Generators save and later restore the current stack when processing the 'yield' operation. Our current implementation for restoring the stack unfortunately confuses the Java classfile verifier, so at class load time a VerifierError is thrown. This happens because the verifier can no longer ensure that the proper types are placed on the stack, since the stack-state is saved in a simple Object[]. Re-ordering a few operations is only necessary so the verifier will again accept the generated class. But this is only done for generators because it creates slightly less efficient code compared to the standard case.
Generators save and later restore the current stack when processing the 'yield' operation. Our current implementation for restoring the stack unfortunately confuses the Java classfile verifier, so at class load time a VerifierError is thrown. This happens because the verifier can no longer ensure that the proper types are placed on the stack, since the stack-state is saved in a simple Object[]. Re-ordering a few operations is only necessary so the verifier will again accept the generated class. But this is only done for generators because it creates slightly less efficient code compared to the standard case.

AlexTrotsenko/rhino,tuchida/rhino,swannodette/rhino,sainaen/rhino,lv7777/egit_test,AlexTrotsenko/rhino,sam/htmlunit-rhino-fork,Angelfirenze/rhino,Pilarbrist/rhino,Angelfirenze/rhino,sam/htmlunit-rhino-fork,Pilarbrist/rhino,sainaen/rhino,sainaen/rhino,lv7777/egit_test,sainaen/rhino,tuchida/rhino,sam/htmlunit-rhino-fork,swannodette/rhino,Pilarbrist/rhino,swannodette/rhino,ashwinrayaprolu1984/rhino,swannodette/rhino,tuchida/rhino,tejassaoji/RhinoCoarseTainting,sam/htmlunit-rhino-fork,swannodette/rhino,tejassaoji/RhinoCoarseTainting,tuchida/rhino,Angelfirenze/rhino,tejassaoji/RhinoCoarseTainting,ashwinrayaprolu1984/rhino,tejassaoji/RhinoCoarseTainting,ashwinrayaprolu1984/rhino,swannodette/rhino,tuchida/rhino,ashwinrayaprolu1984/rhino,ashwinrayaprolu1984/rhino,Angelfirenze/rhino,sam/htmlunit-rhino-fork,tuchida/rhino,Pilarbrist/rhino,tejassaoji/RhinoCoarseTainting,AlexTrotsenko/rhino,tejassaoji/RhinoCoarseTainting,Angelfirenze/rhino,sainaen/rhino,AlexTrotsenko/rhino,tejassaoji/RhinoCoarseTainting,AlexTrotsenko/rhino,tuchida/rhino,Angelfirenze/rhino,sam/htmlunit-rhino-fork,ashwinrayaprolu1984/rhino,sainaen/rhino,lv7777/egit_test,Pilarbrist/rhino,lv7777/egit_test,lv7777/egit_test,Angelfirenze/rhino,lv7777/egit_test,sainaen/rhino,lv7777/egit_test,Pilarbrist/rhino,ashwinrayaprolu1984/rhino,Pilarbrist/rhino,swannodette/rhino,AlexTrotsenko/rhino,sam/htmlunit-rhino-fork,AlexTrotsenko/rhino