Ignore:
Timestamp:
Apr 28, 2009, 12:10:34 AM (16 years ago)
Author:
[email protected]
Message:

2009-04-27 Gavin Barraclough <[email protected]>

Reviewed by Maciej Stachowiak.

Tweak a loop condition to keep GCC happy,
some GCCs seem to be having issues with this. :-/

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::breakTarget):
  • wtf/Platform.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r42575 r42922  
    15881588{
    15891589    // Reclaim free label scopes.
    1590     while (m_labelScopes.size() && !m_labelScopes.last().refCount())
     1590    //
     1591    // The condition was previously coded as 'm_labelScopes.size() && !m_labelScopes.last().refCount()',
     1592    // however sometimes this appears to lead to GCC going a little haywire and entering the loop with
     1593    // size 0, leading to segfaulty badness.  We are yet to identify a valid cause within our code to
     1594    // cause the GCC codegen to misbehave in this fashion, and as such the following refactoring of the
     1595    // loop condition is a workaround.
     1596    while (m_labelScopes.size()) {
     1597        if  (m_labelScopes.last().refCount())
     1598            break;
    15911599        m_labelScopes.removeLast();
     1600    }
    15921601
    15931602    if (!m_labelScopes.size())
Note: See TracChangeset for help on using the changeset viewer.