summaryrefslogtreecommitdiffstats
path: root/js/src/jit/BaselineBailouts.cpp
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-03-25 16:22:38 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-03-25 16:22:38 +0200
commitb311e8fa718e2a32805c25847781cc8a6a0541bd (patch)
tree458018bc532e6a56878c901424cdf2ddc5595694 /js/src/jit/BaselineBailouts.cpp
parent2818e8dedb4a9a6cf40688ad42bf2be05e2f26d2 (diff)
downloadUXP-b311e8fa718e2a32805c25847781cc8a6a0541bd.tar
UXP-b311e8fa718e2a32805c25847781cc8a6a0541bd.tar.gz
UXP-b311e8fa718e2a32805c25847781cc8a6a0541bd.tar.lz
UXP-b311e8fa718e2a32805c25847781cc8a6a0541bd.tar.xz
UXP-b311e8fa718e2a32805c25847781cc8a6a0541bd.zip
Bug 1342553, Bug 1343072, Bug 1344753 (details in the description)
Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in JSTRY_FOR_OF Bug 1344753 - Update for-of stack depth in ControlFlowGenerator::processWhileOrForInLoop Issue #74
Diffstat (limited to 'js/src/jit/BaselineBailouts.cpp')
-rw-r--r--js/src/jit/BaselineBailouts.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/js/src/jit/BaselineBailouts.cpp b/js/src/jit/BaselineBailouts.cpp
index 161e1aa4c..3ab722b3d 100644
--- a/js/src/jit/BaselineBailouts.cpp
+++ b/js/src/jit/BaselineBailouts.cpp
@@ -509,16 +509,10 @@ HasLiveStackValueAtDepth(JSScript* script, jsbytecode* pc, uint32_t stackDepth)
break;
case JSTRY_FOR_OF:
- // For-of loops have both the iterator and the result object on
- // stack. The iterator is below the result object.
- if (stackDepth == tn->stackDepth - 1)
- return true;
- break;
-
- case JSTRY_ITERCLOSE:
- // Code that need to call IteratorClose have the iterator on the
- // stack.
- if (stackDepth == tn->stackDepth)
+ // For-of loops have the iterator, the result object, and the value
+ // of the result object on stack. The iterator is below the result
+ // object and the value.
+ if (stackDepth == tn->stackDepth - 2)
return true;
break;