⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 201589 in webkit


Ignore:
Timestamp:
Jun 1, 2016, 9:07:14 PM (10 years ago)
Author:
msaboff@apple.com
Message:

Runaway WebContent process CPU & memory @ foxnews.com
https://bugs.webkit.org/show_bug.cgi?id=158290

Reviewed by Mark Lam.

Clear the thrown value at the end of the catch block so that the stack scanner won't
find the value during GC.

Added a new stress test.

  • bytecompiler/NodesCodegen.cpp:

(JSC::TryNode::emitBytecode):

  • tests/stress/recursive-try-catch.js: Added.

(logError):
(tryCallingBadFunction):
(recurse):
(test):

Location:
trunk/Source/JavaScriptCore
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r201586 r201589  
     12016-06-01  Michael Saboff  <msaboff@apple.com>
     2
     3        Runaway WebContent process CPU & memory @ foxnews.com
     4        https://bugs.webkit.org/show_bug.cgi?id=158290
     5
     6        Reviewed by Mark Lam.
     7
     8        Clear the thrown value at the end of the catch block so that the stack scanner won't
     9        find the value during GC.
     10
     11        Added a new stress test.
     12
     13        * bytecompiler/NodesCodegen.cpp:
     14        (JSC::TryNode::emitBytecode):
     15        * tests/stress/recursive-try-catch.js: Added.
     16        (logError):
     17        (tryCallingBadFunction):
     18        (recurse):
     19        (test):
     20
    1212016-06-01  Benjamin Poulain  <bpoulain@apple.com>
    222
  • trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

    r201542 r201589  
    31283128        else
    31293129            generator.emitNodeInTailPosition(dst, m_catchBlock);
     3130        generator.emitLoad(thrownValueRegister.get(), jsUndefined());
    31303131        generator.emitPopCatchScope(m_lexicalVariables);
    31313132        generator.emitLabel(catchEndLabel.get());
Note: See TracChangeset for help on using the changeset viewer.