Ignore:
Timestamp:
Jan 10, 2018, 11:41:12 AM (8 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r226667 and r226673.
https://bugs.webkit.org/show_bug.cgi?id=181488

This caused a flaky crash. (Requested by mlewis13 on #webkit).

Reverted changesets:

"CodeBlocks should be in IsoSubspaces"
https://bugs.webkit.org/show_bug.cgi?id=180884
https://trac.webkit.org/changeset/226667

"REGRESSION (r226667): CodeBlocks should be in IsoSubspaces"
https://bugs.webkit.org/show_bug.cgi?id=180884
https://trac.webkit.org/changeset/226673

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/FunctionExecutable.cpp

    r226667 r226725  
    11/*
    2  * Copyright (C) 2009-2018 Apple Inc. All rights reserved.
     2 * Copyright (C) 2009, 2010, 2013, 2015-2016 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    6969FunctionCodeBlock* FunctionExecutable::baselineCodeBlockFor(CodeSpecializationKind kind)
    7070{
    71     ExecutableToCodeBlockEdge* edge;
     71    FunctionCodeBlock* result;
    7272    if (kind == CodeForCall)
    73         edge = m_codeBlockForCall.get();
     73        result = m_codeBlockForCall.get();
    7474    else {
    7575        RELEASE_ASSERT(kind == CodeForConstruct);
    76         edge = m_codeBlockForConstruct.get();
     76        result = m_codeBlockForConstruct.get();
    7777    }
    78     if (!edge)
     78    if (!result)
    7979        return 0;
    80     return static_cast<FunctionCodeBlock*>(edge->codeBlock()->baselineAlternative());
     80    return static_cast<FunctionCodeBlock*>(result->baselineAlternative());
    8181}
    8282
     
    8686    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
    8787    ScriptExecutable::visitChildren(thisObject, visitor);
    88     visitor.append(thisObject->m_codeBlockForCall);
    89     visitor.append(thisObject->m_codeBlockForConstruct);
     88    if (FunctionCodeBlock* codeBlockForCall = thisObject->m_codeBlockForCall.get())
     89        codeBlockForCall->visitWeakly(visitor);
     90    if (FunctionCodeBlock* codeBlockForConstruct = thisObject->m_codeBlockForConstruct.get())
     91        codeBlockForConstruct->visitWeakly(visitor);
    9092    visitor.append(thisObject->m_unlinkedExecutable);
    9193    visitor.append(thisObject->m_singletonFunction);
Note: See TracChangeset for help on using the changeset viewer.