Ignore:
Timestamp:
Jan 29, 2015, 8:28:36 PM (10 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r179357 and r179358.
https://bugs.webkit.org/show_bug.cgi?id=141062

Suspect this caused WebGL tests to start flaking (Requested by
kling on #webkit).

Reverted changesets:

"Polymorphic call inlining should be based on polymorphic call
inline caching rather than logging"
https://bugs.webkit.org/show_bug.cgi?id=140660
http://trac.webkit.org/changeset/179357

"Unreviewed, fix no-JIT build."
http://trac.webkit.org/changeset/179358

Patch by Commit Queue <[email protected]> on 2015-01-29

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r179372 r179392  
    11/*
    2  * Copyright (C) 2008-2010, 2012-2015 Apple Inc. All rights reserved.
     2 * Copyright (C) 2008, 2009, 2010, 2012, 2013, 2014 Apple Inc. All rights reserved.
    33 * Copyright (C) 2008 Cameron Zwarich <[email protected]>
    44 *
     
    21752175    while (m_incomingCalls.begin() != m_incomingCalls.end())
    21762176        m_incomingCalls.begin()->remove();
    2177     while (m_incomingPolymorphicCalls.begin() != m_incomingPolymorphicCalls.end())
    2178         m_incomingPolymorphicCalls.begin()->remove();
    21792177   
    21802178    // Note that our outgoing calls will be removed from other CodeBlocks'
     
    30433041    m_incomingCalls.push(incoming);
    30443042}
    3045 
    3046 void CodeBlock::linkIncomingPolymorphicCall(ExecState* callerFrame, PolymorphicCallNode* incoming)
    3047 {
    3048     noticeIncomingCall(callerFrame);
    3049     m_incomingPolymorphicCalls.push(incoming);
    3050 }
    30513043#endif // ENABLE(JIT)
    30523044
     
    30563048        m_incomingLLIntCalls.begin()->unlink();
    30573049#if ENABLE(JIT)
    3058     if (m_incomingCalls.isEmpty() && m_incomingPolymorphicCalls.isEmpty())
     3050    if (m_incomingCalls.isEmpty())
    30593051        return;
    30603052    RepatchBuffer repatchBuffer(this);
    30613053    while (m_incomingCalls.begin() != m_incomingCalls.end())
    30623054        m_incomingCalls.begin()->unlink(repatchBuffer);
    3063     while (m_incomingPolymorphicCalls.begin() != m_incomingPolymorphicCalls.end())
    3064         m_incomingPolymorphicCalls.begin()->unlink(repatchBuffer);
    30653055#endif // ENABLE(JIT)
    30663056}
     
    32563246   
    32573247    if (Options::verboseCallLink())
    3258         dataLog("Noticing call link from ", pointerDump(callerCodeBlock), " to ", *this, "\n");
    3259    
    3260 #if ENABLE(DFG_JIT)
     3248        dataLog("Noticing call link from ", *callerCodeBlock, " to ", *this, "\n");
     3249   
    32613250    if (!m_shouldAlwaysBeInlined)
    32623251        return;
    3263    
    3264     if (!callerCodeBlock) {
    3265         m_shouldAlwaysBeInlined = false;
    3266         if (Options::verboseCallLink())
    3267             dataLog("    Clearing SABI because caller is native.\n");
    3268         return;
    3269     }
    3270 
     3252
     3253#if ENABLE(DFG_JIT)
    32713254    if (!hasBaselineJITProfiling())
    32723255        return;
     
    32963279    }
    32973280   
    3298     if (JITCode::isOptimizingJIT(callerCodeBlock->jitType())) {
    3299         m_shouldAlwaysBeInlined = false;
    3300         if (Options::verboseCallLink())
    3301             dataLog("    Clearing SABI bcause caller was already optimized.\n");
    3302         return;
    3303     }
    3304    
    33053281    if (callerCodeBlock->codeType() != FunctionCode) {
    33063282        // If the caller is either eval or global code, assume that that won't be
     
    33233299        return;
    33243300    }
    3325    
    3326     if (callerCodeBlock->m_capabilityLevelState == DFG::CapabilityLevelNotSet) {
    3327         dataLog("In call from ", *callerCodeBlock, " ", callerFrame->codeOrigin(), " to ", *this, ": caller's DFG capability level is not set.\n");
    3328         CRASH();
    3329     }
     3301
     3302    RELEASE_ASSERT(callerCodeBlock->m_capabilityLevelState != DFG::CapabilityLevelNotSet);
    33303303   
    33313304    if (canCompile(callerCodeBlock->m_capabilityLevelState))
Note: See TracChangeset for help on using the changeset viewer.