summaryrefslogtreecommitdiff
path: root/mail/thunderbird17/patches/patch-mozilla_js_src_jsinterp.cpp
blob: 687f4ed4a12f562c40e4054da14096c7b922265d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$NetBSD: patch-mozilla_js_src_jsinterp.cpp,v 1.1 2013/11/13 13:27:45 ryoon Exp $

--- mozilla/js/src/jsinterp.cpp.orig	2012-11-19 22:42:24.000000000 +0000
+++ mozilla/js/src/jsinterp.cpp
@@ -3664,6 +3664,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK)
 BEGIN_CASE(JSOP_LEAVEFORLETIN)
 BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
 {
+  {
     DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth();
 
     regs.fp()->popBlock(cx);
@@ -3678,7 +3679,9 @@ BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
         regs.sp -= GET_UINT16(regs.pc);
         JS_ASSERT(regs.stackDepth() == blockDepth + 1);
         regs.sp[-1] = *vp;
-    } else {
+    }
+  }
+    if (op != JSOP_LEAVEBLOCK && op != JSOP_LEAVEBLOCKEXPR)  {
         /* Another op will pop; nothing to do here. */
         len = JSOP_LEAVEFORLETIN_LENGTH;
         DO_NEXT_OP(len);