Catch some opcodes which return directly from a script, bug 723099. r=dvander
authorBrian Hackett <bhackett1024@gmail.com>
Thu, 02 Feb 2012 16:09:47 -0800
changeset 86087 1e80318e866db9e259005d9500c33639ef14b6a4
parent 86086 b8252a1c0de6fbd068693cbd7a92c7c993e3e54f
child 86088 8c6eab735db28b473c14a692d51f74c4a416e984
push id21990
push userbmo@edmorley.co.uk
push dateFri, 03 Feb 2012 16:46:11 +0000
treeherdermozilla-central@4da18c2e4910 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs723099
milestone13.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Catch some opcodes which return directly from a script, bug 723099. r=dvander
js/src/jsanalyze.cpp
--- a/js/src/jsanalyze.cpp
+++ b/js/src/jsanalyze.cpp
@@ -1433,16 +1433,19 @@ ScriptAnalysis::analyzeSSA(JSContext *cx
                         checkExceptionTarget(cx, catchOffset, exceptionTargets);
                     }
                 }
             }
             break;
           }
 
           case JSOP_THROW:
+          case JSOP_RETURN:
+          case JSOP_STOP:
+          case JSOP_RETRVAL:
             mergeAllExceptionTargets(cx, values, exceptionTargets);
             break;
 
           default:;
         }
 
         uint32_t type = JOF_TYPE(js_CodeSpec[op].format);
         if (type == JOF_JUMP) {