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/ScriptExecutable.cpp

    r226667 r226725  
    9090        ASSERT(kind == CodeForCall);
    9191       
    92         oldCodeBlock = ExecutableToCodeBlockEdge::deactivateAndUnwrap(executable->m_programCodeBlock.get());
    93         executable->m_programCodeBlock.setMayBeNull(vm, this, ExecutableToCodeBlockEdge::wrapAndActivate(codeBlock));
     92        oldCodeBlock = executable->m_programCodeBlock.get();
     93        executable->m_programCodeBlock.setMayBeNull(vm, this, codeBlock);
    9494        break;
    9595    }
     
    101101        ASSERT(kind == CodeForCall);
    102102
    103         oldCodeBlock = ExecutableToCodeBlockEdge::deactivateAndUnwrap(executable->m_moduleProgramCodeBlock.get());
    104         executable->m_moduleProgramCodeBlock.setMayBeNull(vm, this, ExecutableToCodeBlockEdge::wrapAndActivate(codeBlock));
     103        oldCodeBlock = executable->m_moduleProgramCodeBlock.get();
     104        executable->m_moduleProgramCodeBlock.setMayBeNull(vm, this, codeBlock);
    105105        break;
    106106    }
     
    112112        ASSERT(kind == CodeForCall);
    113113       
    114         oldCodeBlock = ExecutableToCodeBlockEdge::deactivateAndUnwrap(executable->m_evalCodeBlock.get());
    115         executable->m_evalCodeBlock.setMayBeNull(vm, this, ExecutableToCodeBlockEdge::wrapAndActivate(codeBlock));
     114        oldCodeBlock = executable->m_evalCodeBlock.get();
     115        executable->m_evalCodeBlock.setMayBeNull(vm, this, codeBlock);
    116116        break;
    117117    }
     
    123123        switch (kind) {
    124124        case CodeForCall:
    125             oldCodeBlock = ExecutableToCodeBlockEdge::deactivateAndUnwrap(executable->m_codeBlockForCall.get());
    126             executable->m_codeBlockForCall.setMayBeNull(vm, this, ExecutableToCodeBlockEdge::wrapAndActivate(codeBlock));
     125            oldCodeBlock = executable->m_codeBlockForCall.get();
     126            executable->m_codeBlockForCall.setMayBeNull(vm, this, codeBlock);
    127127            break;
    128128        case CodeForConstruct:
    129             oldCodeBlock = ExecutableToCodeBlockEdge::deactivateAndUnwrap(executable->m_codeBlockForConstruct.get());
    130             executable->m_codeBlockForConstruct.setMayBeNull(vm, this, ExecutableToCodeBlockEdge::wrapAndActivate(codeBlock));
     129            oldCodeBlock = executable->m_codeBlockForConstruct.get();
     130            executable->m_codeBlockForConstruct.setMayBeNull(vm, this, codeBlock);
    131131            break;
    132132        }
     
    269269        EvalExecutable* executable = jsCast<EvalExecutable*>(this);
    270270        EvalCodeBlock* baseline = static_cast<EvalCodeBlock*>(
    271             executable->codeBlock()->baselineVersion());
     271            executable->m_evalCodeBlock->baselineVersion());
    272272        EvalCodeBlock* result = EvalCodeBlock::create(&vm,
    273273            CodeBlock::CopyParsedBlock, *baseline);
     
    280280        ProgramExecutable* executable = jsCast<ProgramExecutable*>(this);
    281281        ProgramCodeBlock* baseline = static_cast<ProgramCodeBlock*>(
    282             executable->codeBlock()->baselineVersion());
     282            executable->m_programCodeBlock->baselineVersion());
    283283        ProgramCodeBlock* result = ProgramCodeBlock::create(&vm,
    284284            CodeBlock::CopyParsedBlock, *baseline);
     
    291291        ModuleProgramExecutable* executable = jsCast<ModuleProgramExecutable*>(this);
    292292        ModuleProgramCodeBlock* baseline = static_cast<ModuleProgramCodeBlock*>(
    293             executable->codeBlock()->baselineVersion());
     293            executable->m_moduleProgramCodeBlock->baselineVersion());
    294294        ModuleProgramCodeBlock* result = ModuleProgramCodeBlock::create(&vm,
    295295            CodeBlock::CopyParsedBlock, *baseline);
Note: See TracChangeset for help on using the changeset viewer.