The code to deal with caught Java exceptions and transfer control to script finally/catch is transfered to CATCH bytecode which is now always added to the and of script bytecode. In this way if Context.observeInstructionCount throws an exception, a proper cleanup to restore Interpreter runtime will still be carried out. It also allowed to transfer control directly to catch/finally code when script call throw instead of throwing Java exception just to capture it immediately.
The code to deal with caught Java exceptions and transfer control to script finally/catch is transfered to CATCH bytecode which is now always added to the and of script bytecode. In this way if Context.observeInstructionCount throws an exception, a proper cleanup to restore Interpreter runtime will still be carried out. It also allowed to transfer control directly to catch/finally code when script call throw instead of throwing Java exception just to capture it immediately.

This special CATCH bytecode is a simple way to workaround lack of goto in Java which makes writing interpreters more complex then necessary...

tejassaoji/RhinoCoarseTainting,sainaen/rhino,tuchida/rhino,Pilarbrist/rhino,sainaen/rhino,sainaen/rhino,sam/htmlunit-rhino-fork,tejassaoji/RhinoCoarseTainting,Distrotech/rhino,lv7777/egit_test,sainaen/rhino,Pilarbrist/rhino,tuchida/rhino,swannodette/rhino,Angelfirenze/rhino,tuchida/rhino,tejassaoji/RhinoCoarseTainting,ashwinrayaprolu1984/rhino,qhanam/rhino,ashwinrayaprolu1984/rhino,jsdoc3/rhino,tntim96/rhino-jscover,qhanam/rhino,sainaen/rhino,Angelfirenze/rhino,Angelfirenze/rhino,qhanam/rhino,sam/htmlunit-rhino-fork,AlexTrotsenko/rhino,AlexTrotsenko/rhino,InstantWebP2P/rhino-android,Pilarbrist/rhino,tntim96/rhino-jscover,tuchida/rhino,tuchida/rhino,ashwinrayaprolu1984/rhino,lv7777/egit_test,sam/htmlunit-rhino-fork,Pilarbrist/rhino,sam/htmlunit-rhino-fork,lv7777/egit_test,AlexTrotsenko/rhino,tntim96/htmlunit-rhino-fork,sam/htmlunit-rhino-fork,tntim96/rhino-apigee,swannodette/rhino,Angelfirenze/rhino,Angelfirenze/rhino,tejassaoji/RhinoCoarseTainting,tntim96/rhino-jscover-repackaged,Angelfirenze/rhino,ashwinrayaprolu1984/rhino,sainaen/rhino,sam/htmlunit-rhino-fork,AlexTrotsenko/rhino,qhanam/rhino,rasmuserik/rhino,rasmuserik/rhino,swannodette/rhino,AlexTrotsenko/rhino,Angelfirenze/rhino,AlexTrotsenko/rhino,tuchida/rhino,ashwinrayaprolu1984/rhino,tntim96/rhino-apigee,swannodette/rhino,Pilarbrist/rhino,sam/htmlunit-rhino-fork,sainaen/rhino,ashwinrayaprolu1984/rhino,jsdoc3/rhino,tntim96/htmlunit-rhino-fork,tejassaoji/RhinoCoarseTainting,tntim96/rhino-apigee,Distrotech/rhino,lv7777/egit_test,ashwinrayaprolu1984/rhino,AlexTrotsenko/rhino,lv7777/egit_test,InstantWebP2P/rhino-android,tntim96/rhino-jscover-repackaged,swannodette/rhino,swannodette/rhino,lv7777/egit_test,Pilarbrist/rhino,lv7777/egit_test,tuchida/rhino,tejassaoji/RhinoCoarseTainting,jsdoc3/rhino,tejassaoji/RhinoCoarseTainting,swannodette/rhino,Pilarbrist/rhino