Title: [160505] branches/jsCStack/Source/_javascript_Core
Revision
160505
Author
[email protected]
Date
2013-12-12 13:25:34 -0800 (Thu, 12 Dec 2013)

Log Message

Fix handling of uncaught exceptions.
https://bugs.webkit.org/show_bug.cgi?id=125648.

Reviewed by Geoffrey Garen.

* llint/LowLevelInterpreter64.asm:
- handleUncaughtException should load the "catch" callFrame instead of assuming
  that the current one is appropriate. This is now fixed.

Modified Paths

Diff

Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (160504 => 160505)


--- branches/jsCStack/Source/_javascript_Core/ChangeLog	2013-12-12 20:28:47 UTC (rev 160504)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog	2013-12-12 21:25:34 UTC (rev 160505)
@@ -1,3 +1,14 @@
+2013-12-12  Mark Lam  <[email protected]>
+
+        Fix handling of uncaught exceptions.
+        https://bugs.webkit.org/show_bug.cgi?id=125648.
+
+        Reviewed by Geoffrey Garen.
+
+        * llint/LowLevelInterpreter64.asm:
+        - handleUncaughtException should load the "catch" callFrame instead of assuming
+          that the current one is appropriate. This is now fixed.
+
 2013-12-12  Michael Saboff  <[email protected]>
 
         CStack Branch: Change the disabling of DFG OSR entry to be based on an option

Modified: branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (160504 => 160505)


--- branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter64.asm	2013-12-12 20:28:47 UTC (rev 160504)
+++ branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter64.asm	2013-12-12 21:25:34 UTC (rev 160505)
@@ -198,6 +198,7 @@
 
     checkStackPointerAlignment(temp2, 0xbad0dc01)
 
+    # Allocate and initialize the sentinel frame.
     move sp, cfr
     subp (CallFrameHeaderSlots-1)*8, cfr
     storep 0, ArgumentCount[cfr]
@@ -291,10 +292,11 @@
 
 
 _handleUncaughtException:
-    subp 16, sp
+    loadp ScopeChain[cfr], t3
+    andp MarkedBlockMask, t3
+    loadp MarkedBlock::m_weakSet + WeakSet::m_vm[t3], t3
+    loadp VM::callFrameForThrow[t3], cfr
 
-    checkStackPointerAlignment(t3, 0xbad0eeee)
-
     bpeq CodeBlock[cfr], 1, .calleeFramePopped
     loadp CallerFrame[cfr], cfr
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to