Changeset 161437 in webkit


Ignore:
Timestamp:
Jan 7, 2014 11:10:51 AM (10 years ago)
Author:
rgabor@webkit.org
Message:

pushFinallyContext saves wrong m_labelScopes size
https://bugs.webkit.org/show_bug.cgi?id=124529

Remove free label scopes before saving finally context.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::pushFinallyContext):

LayoutTests:

  • js/script-tests/try-return-finally-break.js: Added.

(foo):

  • js/try-return-finally-break-expected.txt: Added.
  • js/try-return-finally-break.html: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r161436 r161437  
     12014-01-07  Gabor Rapcsanyi  <rgabor@webkit.org>
     2
     3        pushFinallyContext saves wrong m_labelScopes size
     4        https://bugs.webkit.org/show_bug.cgi?id=124529
     5
     6        Remove free label scopes before saving finally context.
     7
     8        Reviewed by Geoffrey Garen.
     9
     10        * js/script-tests/try-return-finally-break.js: Added.
     11        (foo):
     12        * js/try-return-finally-break-expected.txt: Added.
     13        * js/try-return-finally-break.html: Added.
     14
    1152014-01-07  Bear Travis  <betravis@adobe.com>
    216
  • trunk/Source/JavaScriptCore/ChangeLog

    r161429 r161437  
     12014-01-07  Gabor Rapcsanyi  <rgabor@webkit.org>
     2
     3        pushFinallyContext saves wrong m_labelScopes size
     4        https://bugs.webkit.org/show_bug.cgi?id=124529
     5
     6        Remove free label scopes before saving finally context.
     7
     8        Reviewed by Geoffrey Garen.
     9
     10        * bytecompiler/BytecodeGenerator.cpp:
     11        (JSC::BytecodeGenerator::pushFinallyContext):
     12
    1132014-01-06  Mark Hahnenberg  <mhahnenberg@apple.com>
    214
  • trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r161364 r161437  
    19551955void BytecodeGenerator::pushFinallyContext(StatementNode* finallyBlock)
    19561956{
     1957    // Reclaim free label scopes.
     1958    while (m_labelScopes.size() && !m_labelScopes.last().refCount())
     1959        m_labelScopes.removeLast();
     1960
    19571961    ControlFlowContext scope;
    19581962    scope.isFinallyBlock = true;
Note: See TracChangeset for help on using the changeset viewer.