Bug 1519700: Fix incorrect logic in TryNoteIter::settle r=djvj
authorIain Ireland <iireland@mozilla.com>
Mon, 14 Jan 2019 19:41:05 +0000
changeset 510934 9a76ebcfbe9d5d8ff5731e59aed195a2c9ffb8cd
parent 510933 627f1def8aeb7c4f38b4624aadf75050e339ee92
child 510935 0a2b04a4456957b10ecc725896876a58179a6589
push id10547
push userffxbld-merge
push dateMon, 21 Jan 2019 13:03:58 +0000
treeherdermozilla-beta@24ec1916bffe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdjvj
bugs1519700
milestone66.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
Bug 1519700: Fix incorrect logic in TryNoteIter::settle r=djvj Differential Revision: https://phabricator.services.mozilla.com/D16494
js/src/vm/Interpreter.h
--- a/js/src/vm/Interpreter.h
+++ b/js/src/vm/Interpreter.h
@@ -352,17 +352,17 @@ class MOZ_STACK_CLASS TryNoteIter {
       if (tn_->kind == JSTRY_FOR_OF_ITERCLOSE) {
         do {
           ++tn_;
           MOZ_ASSERT(tn_ != tnEnd_);
           MOZ_ASSERT_IF(pcInRange(), tn_->kind != JSTRY_FOR_OF_ITERCLOSE);
         } while (!(pcInRange() && tn_->kind == JSTRY_FOR_OF));
 
         // Advance to trynote following the enclosing for-of.
-        ++tn_;
+        continue;
       }
 
       /*
        * We have a note that covers the exception pc but we must check
        * whether the interpreter has already executed the corresponding
        * handler. This is possible when the executed bytecode implements
        * break or return from inside a for-in loop.
        *